当API的设计者声明一个方法将抛出某个异常的时候,他们等于正在试图说明某些事情。请不要忽略它们。要忽略一个异常非常容易,
只需将方法调用通过try语句包围起来,并包含一个空的catch块。
try
{
……
}catch(SomeException e)
{
}
空的catch块会使异常达不到应有的目的。至少catch块应该包含一条说明,解释为什么可以忽略这个异常。
对于未受检异常,由于它是不可恢复的,一般情况出现未受检异常,程序会终止。对于受检的异常,由于是可以恢复的,一般抛出受检的异常,
程序并不会终止,而是执行catch块的代码之后,然后继续执行其他代码。然而这时,如果catch块中没有任何异常处理代码,相当于异常发生后
我们袖手旁观,什么事情也没有做。虽然程序在异常出现之后,悄然的执行下去,然后,有可能在将来的某个点上,当程序不能容忍与错误源明显
相关的问题时,它就会失败。而这时,没有任何关于异常的信息输出,对于定位异常就很困难。