我有一个相当复杂的 Java 小游戏(单人纸牌,本质上类似于 Windows 版本),但我还没有做很多错误处理。
我的类中的几乎所有方法最终都会被初始构造函数(最终是 main())、paintComponent() 方法或鼠标事件调用。所以,我的问题是,只在我所有的低级方法上使用“throws Exception”,并且只在我的顶级方法上执行 try/catch 以一次捕获所有错误是不是不好的做法? (例如 3 次 try/catches - 一次用于绘画,一次用于鼠标事件,一次用于 main 方法)。
我意识到这使我无法轻松地在现场处理错误,但我并不真的打算这样做。我的错误处理将包括写入日志、告诉用户和终止程序。牢记这一点,以这种方式处理错误有什么不好吗?
最佳答案
这取决于你想如何处理这种情况。
如果您只想捕获任何可能的异常并且您不介意处理程序代码,您可以简单地使用“抛出异常”,并且它也没有什么不好的。它就像一个涵盖所有功能的 try-catch block 。
如果你想为特定的异常编写特定的代码,你应该使用 try-catch block 为每个处理程序编写适当的代码。
根据您所说的,任何捕获的异常只会通知用户并退出应用程序。那么,在这种情况下,您可以只使用第一种方法。这不一定是最好的方法,也不是终止应用程序,但是,如果这是您的策略,您可以对每个函数使用“throws”。
希望对您有所帮助!
关于Java 错误处理 - 将异常抛给集中式错误处理程序是否更好?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10179266/