throw 和throws 的区别:
1.throws 使用在函数上,throw使用在函数内。
2.throws 后面跟异常类,可以用逗号隔开,throw后面跟的异常对象。
- class Demo
- {
- int div(int a, int b)
- {
- if(b==0)
- throw new ArithmeticException();//手动通过throw抛出一个自定义异常。
- return a/b ;
- }
- }
复制代码
Exception中有一个特殊的子类异常RuntimeException(运行时异常),当在函数内抛出异常,函数上不用声明,编译一样通过。如果函数上声明了该异常,函数内部用处理。编译一样通过。之所以不在函数上声明,是因为不想让调用者处理,当异常发生时,希望程序停止,以为在运行时出现了无法运算的情况,希望停止运行程序后,对代码进行修正。
在自定义异常发生时,如果运算无法进行,就让自定义异常继承RuntimeExcetpion.
异常总结起来分为两种:一直是编译时被检测的异常,一种是编译时不被检测的异常,即运行时异常及其子类。
异常——finally
finally代码块:是一定要执行的代码块。
通常用于关闭资源。 |
|