前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Java异常处理

Java异常处理

作者头像
用户8224910
发布2021-01-26 15:11:42
6460
发布2021-01-26 15:11:42
举报

Java异常处理

这段时间学习了Java异常处理机制(老师上课也只是粗略按照例题讲了一下,并没有特别细致地去进行分析),大概就是记住了try-catch的结构,能够帮助我们在程序运行时进行异常状况的处理,保证程序的正常进行。

例题一

封装一类 SumNumber,该类中包含一个求两个 String 类型参数表示 double 类型值,将其求和的方法,当传递实参时如果传递的数据不正确时抛出 NumberFormatException 异常并进 行处理,提示重新传递参数。封装执行主类。

这道题目就是简单的try-catch结构,抛出的是NumberFormatException 异常需要注意的是:数据类型的强制类型转换,细节性的方法可以参考https://www.cnblogs.com/entry-android/p/5513924.html,将String型数据转换成double型可以是Double.valueof(“1234”)或是Double.parseDouble(“1234”).

代码实现

主类(Main)

public class Main {  
    public static void main(String[] args) {
        SumNumber phc1=new SumNumber();
        phc1.toCatch("abcd","2345"); //传递的参数不正确,会抛出异常
    }
}

功能类SumNumber

public class SumNumber {
    public void toCatch(String s1,String s2){
        try{
            double d1=Double.valueOf(s1); //String型数据转换为double型
            double d2=Double.valueOf(s2);
            System.out.println("相加结果是:"+(d1+d2));
        }catch(NumberFormatException e){
            System.out.println("参数类型不正确,请重新传递参数!");
        }
        System.out.println("接下来继续进行程序……");
    }
}

例题二

封装一类 RandomArray,类中包含一个显示数组元素值的方法,该方法创建一个由 100 个随机选取的 int 类型值构成的数组,根据参数指定数组的索引并显示对应的元素值,如果指定的索引越界,处理 ArrayIndexOutOfBoundsException 异常。

这道题目与第一题差不多,不过抛出的是不同的异常类,需要注意的是:随机数的生成,具体可以参考Java 产生随机数的三种方式,比较方便的还是使用Random类.

代码实现

主类Main

public class Main {
    public static void main(String[] args) {
        RandomArray phc2=new RandomArray();
        phc2.showArraydata(120);
    }
}

功能类RandomArray

import java.util.Random;  //导入Random类
public class RandomArray {
    public void showArraydata(int index){
        Random r=new Random();
        int[] array=new int[100];
        for(int i=0;i<100;i++){
            array[i]=r.nextInt();  //产生随机数(也可指定数的范围)
        }
        try{

            System.out.println("数组索引"+index+"位置对应的元素值是"+array[index]);
        }catch(ArrayIndexOutOfBoundsException e){
            System.out.println("数组索引越界,请重新传递!");
        }
        System.out.println("接下来继续执行程序");
    }
}

Java的深入学习还有待静下心去读书、查资料、看视频,仅仅是课堂的学习是远远不够的,真正地做到融会贯通、学以致用,机会永远只会留给有准备的人.

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2020-05-09 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Java异常处理
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档