处理异常的两大步是?
声明异常和捕获异常
异常的相关知识?
如果catch到了2个异常,一个是父类,一个是子类,异常的catch顺序是子类异常在父类异常之后。finally里面的代码在return之前执行,所以可以用来进行数据库连接的关闭,io流的关闭,socket通信等物理连接的关闭。
Error和Exception的区别
2者都继承之Throwable类
2者的区别是:
- Exception
- 可以是被控制的或是不可被控制的
- 表示一个有程序员导致的错误
- 应该在应用程序级被处理
- Error
- 总是不可被控制的
- 经常用来用于表示系统错误或是底层资源错误
- 如果可能的话,应该在系统级被捕捉
方法重写时,子类声明异常能否超出父类的范围?
- 父类没有声明的异常,子类也不能
- 不可抛出原有方法抛出异常方法的父类或上层类
- 抛出异常类型的数目不能比原有的方法抛出的还多