异常,自定义异常,异常重写
-----Error:程序不能处理的错误--动态链接shibai,虚拟机错误
Throwable
----必须处理的Exception
-----Exception:所有异常的父类程序可以处理的异常
----可以不处理的RuntimeException:0被整除,数组下标越界
try代码段包含可能产生异常的代码。
try后面跟一个或者多个catch来捕获异常。
try后可以跟finally,finally代码段无论是否有异常都会执行。通常用来执行资源的清除工作。
可用throws抛出异常而不用catch捕获异常,但是调用该方法的方法必须放入try-catch或者继续向上throw,直到main方法里try-catch或者传给运行时异常。(bad habit)
throw:手动抛出异常对象。
如:throw new ArithmeticException(“被0整除”);
catch异常要先小后大,否则编译报错。
异常重写:
重写方法要抛出与原方法抛出类型一致的异常或者不抛出异常。(抛出子类异常父类异常或者多个异常都不行,必须一致的异常)
自定义异常:
继承java.lang.Exception或者RunTimeException类声明自定义的异常类。
在方法适当位置生成自定义异常的实例,并用throw抛出。
在方法声明部分用throws抛出异常。