1. 异常的体系结构
java.lang.Throwable
- |-----java.lang.Error:一般不编写针对性的代码进行处理。
- |-----java.lang.Exception:可以进行异常的处理
- |------编译时异常(checked)
- |-----IOException
- |-----FileNotFoundException
- |-----ClassNotFoundException
- |-----IOException
- |------运行时异常(unchecked,RuntimeException)
- |-----NullPointerException
- |-----ArrayIndexOutOfBoundsException
- |-----ClassCastException
- |-----NumberFormatException
- |-----InputMismatchException
- |-----ArithmeticException
- |------编译时异常(checked)
2.异常处理方法
方法一:try-catch-finally
方法二:throws
+ 异常类型
对比:①try-catch-finally
:真正的将异常给处理掉了。
②throws
的方式只是将异常抛给了方法的调用者。并没真正将异常处理掉。
3.【面试题】 throw 和 throws区别:
throw
表示抛出一个异常类的对象,生成异常对象的过程。声明在方法体内。
throws
属于异常处理的一种方式,声明在方法的声明处。