1.异常
- try检测异常
- catch捕获异常
- finally处理完异常最后的处理
2.运行时异常,编译时异常的区别
3.处理异常的方式
- try catch
- 抛出异常
4.抛出异常
- 抛出运行时异常,throw new RuntimeException("");
- 抛出编译时异常,throw new Exception(""); 必须继续往上抛
5.throw和throws的区别
- throw用在方法体内,跟的是异常对象名称,只能抛出一个异常,表示抛出异常
- throws跟在方法名后面,跟的是异常类名,可以跟多个异常类,表示抛出异常,由方法调用者来处理
参考:
1、throw代表动作,表示抛出一个异常的动作;throws代表一种状态,代表方法可能有异常抛出
2、throw用在方法实现中,而throws用在方法声明中
3、throw只能用于抛出一种异常,而throws可以抛出多个异常
6.finally
- 只要执行了try,就会执行finally,除非catch中执行了 System.exit(0); jvm退出了。
- finally一般不return,return 的是当时的值。
7.自定义异常类
- 运行时异常,class MyRunTimeException extends RuntimeException {...}
- 编译时异常,class Myxception extends Exception {...}
8.带参数的异常
- 提供一个带参数的构造器
- 把参数传给父类的构造器
class Myxception extends Exception {
public Myxception(String args) {
super(args);
}
}