异常处理

编译时异常:

指编译器在编译期告诉我们,调用的方法可能会抛出某个或某几个异常,需要我们处理,否则编译不通过,表现形式是在调用方法处打上红线,指过去出现Unhandeled Exception

另外,编译时异常又被称为检查异常

错误:

程序员不能够用代码去解决的问,往往是硬件、环境、系统问题;

一个我那阵的方法申明:访问修饰符 可选修饰符 返回类型,方法名

形参列表 throws 抛出的异常列表。

throws还会影响到重写的规范——子类重写方法不能抛出比父类重写方法更多的异常:

更多不是指throws 的类型更多,而是指范围更大。

Throw 和 throws 的辨析:

1、          Throw和throws都是关键字,都是属于异常处理部分的;

2、          Throw 是写在方法体当中的,后面跟的是一个异常对象;Throws是写在方法申明的最后的,后面跟的是一个或多个异常类

3、          当运行到throw 这句代码的时候,就会真正发生抛出一个异常对象的动作。Throws是在编译期警告本方法的条用者,有可能会发生哪些类型的异常;

4、          当一个方法体当中,有throw语句,不一定会有throws;除非throw后面跟的是编译时异常,那就必须写throws;

自定义异常要求:

1、自定义异常一定要继承Exception

2、自定义异常至少要有两个带参构造,一个带异常参,一个带字符创参。前者用于把其它异常类型转为为自定义异常,后者用于操作非JVM主动抛出的业务异常(比如:工资为负)

3、可以给自定义异常提供扩展方法

原文地址:https://www.cnblogs.com/yj20hl/p/6161032.html