异常

 生活中有很多异常会出现,有些东西就是没办法掌控,超出自己的范围,比如邻居家的小狗突然去世了,想买的衣服突然断货了,又比如一不小心就爱上了你。

常见的异常类型

Exception   异常层次结构的根类

ArithmeticException  算数错误情形,如以零作除数

ArrayIndexOutOfBoundsException    数组下标越界

NullPointerException    数组下标越界

ClassNotFoundException   不能加载所需的类

InPutMismatchException   欲得到的数据类型与实际输入的类型不匹配

IllegalArgumentException   方法接收到非法参数

ClassCastException      对象强制类型转换出错

NumberFormatException  数字格式转换异常,如吧“abc”转换成数字

1:try-catch:

如果try语句在执行时遇到异常,并且这个异常与catch中声明的异常类型相匹配,那么在try块中其余剩下的代码都将忽略,相应的catch会被执行。

2:try-catch-finally

如果try板块中所有的语句正常执行完毕,那么finally块就会被执行。它最终都会被执行的。

3:多重catch块

一段代码可能会引起多种类型的异常,这时可以使用多重catch语句块,分别处理不同的异常,但排列顺序分别是从子类到父类,最后一个一般都是Exception类,因为所有异常子类都继承自Exception类,所以如果将父类异常放到前面,那么所有的异常都将被捕获,后面的catch块中的子类异常将得不到被执行的机会。

4:声明异常

通过throws继续声明异常,如果调用者不打算处理该异常,则可以继续通过throws声明异常,让上一级调用者处理异常,main()方法声明的异常将由Java虚拟机来处理。

5:抛出异常

抛出异常的原因:由于在当前环境中无法解决参数问题,因此在方法内通过throw抛出异常,把问题交给调用者去解决。

原文地址:https://www.cnblogs.com/dujuanly/p/9014887.html