java异常2
上一节介绍了关于异常的基本概念还有抛出异常和处理异常的方式方法。这一节我想缝缝补补的添加一点注意事项还有一些我觉得比较重要的点。
-
如果在子类中覆盖了一个超类的方法,子类声明的受检查异常(编译异常)不能比超类的方法中声明的受检查异常更通用(也就是说,子类方法中可以抛出更特定的异常,或者根本不抛出任何异常)。特别需要说明的是,如果超类没有抛出任何受检查异常,那么子类也不能抛出任何受检查异常。
-
关于java.lang.Throwable 1.0
1)Throwable():构造一个新的Throwable对象,这个对象没有详细的描述信息
2)Throwable(String message):构造一个新的throwable对象,这个对象带有特定的描述信息。习惯上,所有的派生的异常类都支持一个默认的构造器和一个带有详细信息的构造器
3)String getMessage():获得Throwable对象的详细描述信息 -
使用异常机制的一些技巧:
1)异常只适用于非正常的情况,需要对捕获的异常做处理
2)不要将过于庞大的代码放在try中,在catch中指定具体的异常类型
3)早抛出,晚捕获。很多程序员都感觉应该捕获抛出的全部异常,如果调用了一个抛出异常的方法,这些方法就会本能的捕获这些可能产生的异常,其实,传递异常要比捕获这些异常更好,让高层次的方法通知用户发生了错误,或者放弃不成功的命令更加适合。