你可以去读目前 JavaWorld文章 “Java Tip 134: When Catching Exception, Don’t Cast Your Net Too Wide”。这篇文章警告了捕获java.lang.Exception和java.lang.Throable是不好的。捕获你能指定的异常对于代码的可维护性是十分重要的。然而这个规则依赖于特殊的环境。如果你不打算你的程序崩溃并且保留你的数据结构的安全异常,那么你必须捕获被抛出的真正的异常。
举个例子,想象你有一个加载了这个接口的服务器应用:
public interface IFoo { /** * This method can't throw any checked exceptions...or can it? */ void bar (); } // End of interface