第一章 异常处理
异常的分类
所有的异常类都继承于Throwable类
Throwable的两个直接子类是Error和Exception类
Error和Exception的区别:
Error表示错误,无法恢复的严重错误
Exception中分为运行时异常(RuntimeException)和检查时异常(CheckedException)
异常的使用:
使用throw和throws抛出异常
Throws和throws的区别
Throw抛出的是异常类的对象
Throws抛出的是异常类的类名
Throw写在方法体内
Throws写在方法上
Try和Catch的使用
有try的地方,必须有catch(生死相依)
先说catch
Catch必须先接收子类对象,避免被父类处理
还有一个finally
Finally中存放的是必定会执行的代码(比如流的关闭和数据库连接的关闭)
Final 和finally和finalize的区别
Final是修饰方法和变量的,修饰的变量是常量不可以被改变,修饰的方法是最终方法,无法被继承,修饰的类也是不可以被继承
Finally是异常处理的语法
Finalize是java垃圾回收的一部分
自定义异常的实现
普通类继承于Throwable的子类,Error或Exception类
常见的异常
空指针异常(NullPoiinterException)
类没有找到异常(ClassNotFoundException)
非法参数(IllegalArgumentException)
输入不匹配(InputMisMatchException)
非法的访问权限(IllegalAccessException)
无法转换(ClassCastException)
SQLException
IOException