Java错误处理

标签 java design-patterns error-handling

我确信你们都知道 Java 强制执行非常严格的错误处理模式,其中任何异常都必须通过 try catch block 或通过使用 throws 关键字声明方法来处理。 (我可能会补充一点,我真的很喜欢它的完成方式)

话虽如此;我正在努力解决的是决定处理各种方法中的错误的正确方法是什么。来自 C#/VB.NET 背景的我以前总是严格遵守在堆栈最底部处理错误(除了最具体的情况之外的所有情况),但是我不相信这是 Java 中的最佳方法。

有人可以就此提供任何意见吗?什么被认为是最佳实践?如何决定是否应该在方法外部抛出异常或在内部处理异常(显然有些情况是显而易见的,但分配却不是)?

最佳答案

根据每种方法,我问自己:

  1. 此方法是否有足够的信息来正确处理此异常?如果是的话,处理一下。否则...
  2. 调用者是否有足够的信息来正确处理此异常?如果是,则重新抛出。否则...
  3. 调用者是否需要专门处理该组件操作中的失败?如果是,则以嵌套在组件异常子类中的方式重新抛出。否则...
  4. 作为未选中状态重新抛出。

关于Java错误处理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5865547/

相关文章:

swift - 快速检查错误变量是否不是某个错误的特定情况

java - 是否可以在 Java 中创建一个对输入法进行计时的方法?

c# - 如何使用断路器?

swift - 错误代码为 :nil/nil/error

javascript - 何时会在 window.onError 函数上提供正确的堆栈跟踪?

使用 typedef 结构时的 C 设计风格

java - 什么是适合开发的优秀跨平台 Java Web 服务器?

java - tibco ems 是否可以通过更多连接进行扩展

java - 当 Java 编译器看到关键字 extends 时会做什么?

java - Java 1.6 中是否有用于类似 lambda 语句的 OOB Command 接口(interface)?