在第四版 P276页突然出现了一个 “被检查的异常”  谁有实例能说明一下这种情况。。

解决方案 »

  1.   

    Checked exceptions complicate this scenario a bit, because they force you to add catch 
    clauses in places where you may not be ready to handle an error. This results in the "harmful 
    if swallowed" problem:  
    try { 
    // ... to do something useful 
    } catch(ObligatoryException e) {} // Gulp! 
    Programmers (myself included, in the 1st edition of this book) would just do the simplest 
    thing, and "swallow" the exception—often unintentionally, but once you do it, the compiler 
    has been satisfied, so unless you remember to revisit and correct the code, the exception will 
    be lost. The exception happens, but it vanishes completely when swallowed. Because the 
    compiler forces you to write code right away to handle the exception, this seems like the 
    easiest solution even though it’s probably the worst thing you can do.  中文的太长了  打起来有点慢  而且不是原版  看看E文怎么写的吧
      

  2.   

    我说的“被检查的异常”  就是 Checked exceptions 这个名词在前面没有解释  是突然出现的 大概意思是  被检查的异常强制你在可能没有准备好的情况下处理错误的时候被迫加上catch子句
      

  3.   

    意思就是“强制处理”,如果某个方法抛出“检查异常”没有被catch获者throws,会通不过编译,就是为了让使用者必须处理,比如IOException。而“非检查异常”则可以处理也可以不处理,可以通过编译,当然运行时异常还是可能会发生,比如NullPointerException,这也是为了需要,你想想每个引用都可能为空,都要写NullPointerException的话,别的事不用干了。
      

  4.   

    你可以找其他参考资料 看一下 异常处理  THINKING IN JAVA 很多地方也讲到了 异常处理的问题,这本书有点像字典,要是初学者看的话很有点吃力,你可以再找本简单一点入门书,如果英语好的话还是看原版吧。
      

  5.   

    谢谢 就是 派生于 Exception 和 RuntimeException 的区别对吧
    为什么被检查的异常强制你在可能没有准备好的情况下处理错误的时候被迫加上catch子句  用Throws不就行了?
      

  6.   


    我是 .NET 的 有快1年工作经验了  就是觉得Java的书写得都比较好 所以看着Java的书学C# 以后也想跳到Java领域
      

  7.   


    请注意我说的“没有被catch获者throws,会通不过编译”,其中已经包括了throws这种情况,就是说你必须“处理”,其实错误往外面抛也是一种“处理”,就好像地方处理不了的问题会上报中央一样,而“非检查异常”你可能根本就不知道方法会发生什么异常,就好像地方的维*稳一样,外面看起来风平浪静,所有的错误貌似内部消化,但也有被“捅出来”的时候。
      

  8.   

    我的意思是   作者在这里说“被迫加上catch子句”   为什么是被迫  我知道 throws可以  但是我想知道这里是作者写错了 还是有什么问题我没有发现   我关注的是这里作者为什么这么写而不是处理异常的问题 这一段文字作者对被检查异常做了很多负面的怀疑  我没有读懂怀疑的具体原因  被检查的异常为什么会引起吞食异常
      

  9.   

    被检查的异常强制你在可能没有准备好的情况下处理错误的时候被迫加上catch子句  这句是书中的原话