异常
异常就是不正常,程序运行时出现不正常情况。将这个问题按照面向对象思想描述、封装成对象以便处理。
Throwble
Error
JVM重大出现重大问题
不需要编写针对代码对其处理,程序无法处理。
Exception
在运行时出现的一些问题,可以try、catch、finally处理。
处理异常的两种方式
try catch直接处理问题。
throws告诉调用者有可能出现问题,让调用者处理。
多异常处理
若多个catch块中的异常出现继承关系,父类异常catch放在最后
因为所有子类实例都可以使用父类接收,这会导致异常报告精度降低
try { int a = Integer.parseInt("1"); int b = Integer.parseInt("0"); int c = a / b; System.out.println(c); } catch (NumberFormatException e) { e.printStackTrace(); } catch(ArithmeticException e) { e.printStackTrace(); }
Runtime
是因设计或实现方式不当而导致的问题。这种异常jvm不会检查,但一旦出现问题,程序将终止
Checked
如果程序中一旦出现 这类异常,要么try catch要么 throws否则编译不会通过。
throws
在可能出现异常的方法上声明抛出可能出现异常的类型
一个方法调用另一个使用throws声明抛出的方法,该方法要么try catch要么throws
throw
自行抛出一个异常对象
throws与throw的区别:
thorws用在方法上,后面跟异常类名,可以是多个异常类。
throw用在方法内,后面跟异常对象,只能是一个。
finally
不管有没有出现异常必需执行的代码块
除了在System.exit(0);