在异常中最大的类是Throwable,分为二个子类:Exception,Error
Exception:是程序可以处理的异常
Error:表示JVM错误,一般程序无法处理
Exception与RuntimeException的区别:
1.如果抛出的是Exception的类型,则必须使用try...catch进行处理.
2.如果抛出的是RuntimeException的类型,则不是必须使用try...catch进行处理,一旦发生异常将由JVM进行处理,但是为了保证程序的健康性,建议在有可能出现异常的地方还是使用try...catch进行处理.
throws关键字与throw关键字的区别:
1.在定义一个方法时可以使用throws关键字声明,使用throws声明的方法表示此方法不处理异常,而交给方法的调用处进行处理.
2.可以使用throw关键字人为地抛出一个异常,抛出时直接抛出异常类的实例化对象
自定义异常类
只需要继承Exception就可以完成自定义异常类,需要定义自己想要的异常信息的时候就可以自定义异常类
例子:
class MyException extends Exception{ //自定义异常类,继承Exception类
public MyException(String message) { //构造方法接收异常信息
super(message); //调用父类中的构造方法
}
}
public class DefaultException {
public static void main(String[] args) {
try {
throw new MyException("自定义异常");
} catch (Exception e) {
e.printStackTrace();
}
}
}