西柚社区
搜索
百度
校园热点
login
异常处理
作者:
闲乘月
| 发布时间:
06: 29 23/11/2020
| 阅读数:
15
**一、异常处理的使用** Java提供了try(尝试)、catch(捕捉)、finally(最终)这三个关键字来处理异常。在处理各种异常时,需要用到对应的异常类,指的是由程序抛出的对象所属的类。 处理多个异常: 如果出现的异常和catch()内想要捕捉的异常不相同时怎么办呢?事实上我们可以在一个try语句后跟上多个异常处理catch语句,来处理多种不同类型的异常。 ```java public class DealException { public static void main(String args[]) { try //要检查的程序语句 { int a[] = new int[5]; a[0] = 3; a[1] = 1; //a[1] = 0;//除数为0异常 //a[10] = 7;//数组下标越界异常 int result = a[0]/a[1]; System.out.println(result); } catch(ArrayIndexOutOfBoundsException ex) //异常发生时的处理语句 { System.out.println("数组越界异常"); ex.printStackTrace();//显示异常的堆栈跟踪信息 } catch(ArithmeticException ex) { System.out.println("算术运算异常"); ex.printStackTrace(); } finally //这个代码块一定会被执行 { System.out.println("finally语句不论是否有异常都会被执行。"); } System.out.println("异常处理结束!"); } } ``` **二、throws关键字** throws声明的方法表示该方法不处理异常,而由系统自动将所捕获的异常信息抛给上级方法。 **三、throw关键字** throw的作用是手动抛出异常类的实例化对象。 ```java public class throwDemo { public static void main(String[] args) { try { //抛出异常的实例化对象 throw new ArrayIndexOutOfBoundsException("\n个性化异常信息:\n数组下标越界"); } catch(ArrayIndexOutOfBoundsException ex) { System.out.println(ex); } } } ``` **四、RuntimeException类** **区别:** > **其他Exception**,受检查异常。可以理解为错误,必须要开发者解决以后才能编译通过,解决的方法有两种, > 1:throw到上层, > 2,try-catch处理。 > **RunTimeException**:运行时异常,又称不受检查异常,不受检查! > 不受检查!!不受检查!!!重要的事情说三遍,因为不受检查,所以在代码中可能会有RunTimeException时Java编译检查时不会告诉你有这个异常,但是在实际运行代码时则会暴露出来,比如经典的1/0,空指针等。如果不处理也会被Java自己处理。  **五、自定义异常** 自定义异常类需要继承Exception类,可以使用父类的大量的方法,也可自己编写方法来处理特定的事件。Java提供用继承的方式运行用户自己编写的异常类。一般继承RuntimeException即可
java
共
0
个回复
添加文章评论
游客
回复
发起人
闲乘月
生日:
06: 49 19/11/2020
推荐
相关问题
反射
堆排序
正则表达式
必备知识点
砍树计划