Java异常处理

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

  • 3
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值