认识异常
-
类中的异常信息不用System.out.println(),而是使用e.printStackTrace()
-
java中引入异常是因为不希望程序一报错就结束,而是希望程序能够继续执行完毕。
-
异常类最高的继承类是Throwable,并且通过JavaDOC文档可以发信啊在Throwable下有两个子类
-
Error : JVM 错误,这个时候的程序并没有执行,无法处理
-
Exception : 程序运行中产生的异常,用户可以使用异常处理格式处理。程序中可以处理的异常是Exception类
-
处理多个异常时,铺货范围小的异常要放在捕获范围大的异常处理之前处理。
throws关键字
//方法是类主要的操作形式,方法的执行过程中有可能产生各种异常。所以需要通知每一位方法调用者清楚地知道本方法的问题。因此,Java就提供了throws关键字。这个是写在方法后面
//这里throws抛给调用这个方法的地方,向上抛
public static int div(int x, int y) throws Exception{
}
throw关键字
- 手动异常处理,
throw和throws关键字的区别
throw: 是在代码块中使用的,主要是手动进行异常对象的抛出
throws: 是在方法定义中使用给,表示将此方法中可能产生的异常明确告诉给调用处
RuntimeException
- RuntimeException最大的特征在于:程序在编译的时候不会强制性地要求用户处理异常,用户可以根据自己的需要进行选择性处理。
- RuntimeException与Exception的区别
- RuntimeException是Exception的子类
- Exception定义了必须处理的异常,而RuntimeException定义的异常可以选择性地处理
- 常见的RuntimeException: NumberFormatException,ClassCastException,NullPointException,ArithmeticException,ArrayIndexOutOfBoundsException.
- assert断言,默认情况下,断言并不会生效。
- 启用断言执行
java -ea JavaDemo