Java 错误处理 - 将异常抛给集中式错误处理程序是否更好?

标签 java error-handling

我有一个相当复杂的 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/

相关文章:

error-handling - 合并两种错误类型最惯用的方法是什么?

Netbeans 标准 FXML 应用程序出现 JavaFX 错误 - .fxml 文件的 Nullpointer

java - 将 Twitter API 添加到我的应用程序

excel - VBA On Error 语句执行时没有错误

javascript - 具有多个值的Textarea的JavaScript表单验证

javascript - 如何处理前端的标准错误对象?

java - MPAndroidChart X轴标签未与条形图对齐

java - 如何使用 Apache HttpClient 处理无效的 SSL 证书?

java - 如何使我的 Spring Boot 应用程序使用给定的用户名和密码登录 keycloak?

java "Cannot resolve method ' setCharAt(int, 字符 )'"