Skip to content
On this page

异常

分类

ThrowableError(通常不可恢复,不应捕获)与 ExceptionRuntimeException 及其子类多为 unchecked;其余 checked 异常须在方法签名声明或内部捕获处理。

try-with-resources

实现 AutoCloseable 的资源在块结束时按关闭顺序逆序关闭,抑制关闭异常与主异常的关联见 Throwable.addSuppressed

设计原则

  • 可恢复条件用 checked 或结果类型表达;编程错误倾向 unchecked。
  • 勿空捕获;日志应带上下文,避免吞掉栈信息。

Optional

表示「可能缺失」的容器,应用作字段、集合元素或序列化 DTO 默认值滥用;API 返回 Optional 在公共库中有争议,团队内统一风格即可。

与并发

InterruptedException:捕获后应恢复中断状态 Thread.currentThread().interrupt() 或向上传播,勿静默吞掉。

技术文库