日期:2014-05-20  浏览次数:20645 次

异常,异常 ,有异常!关于异常有个疑惑
先看图:




AuctionException 这个类是我自定义的
RuntimeException (java提供的)
这两个类都是继承Exception 为什么只有AuctionException类需要处理(try-catch)
但是RuntimeException 可以不用处理(try catch) 这是为什么 求解??



------解决方案--------------------
RuntimeException和Error以及它们的子类不用catch,因为这些异常可能是一些逻辑问题或者一些不能恢复的错误,其他的才应该由程序员处理。
java由Checked Exception、RuntimeException、和Error三类,后两种不catch在编译时是不会出错的。
------解决方案--------------------
RuntimeException就是免检的,不需要catch,
如果你希望你的AuctionException不须写catch的话,不妨让它继承于RuntimeException而不是Exception类。