微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

异常有哪些分类

所有异常都是 Throwable 的子类,分为 Error 和 Exception。

  • Error 是 Java 运行时系统的内部错误和资源耗尽错误,例如 StackOverFlowError 和 OutOfMemoryError,这种异常程序无法处理。

  • Exception 分为受检异常和非受检异常,受检异常需要在代码中显式处理,否则会编译出错,非受检异常是运行时异常,继承自 RuntimeException。

受检异常:
  1. 无能为力型,如字段超长导致的 SQLException。

  2. 力所能及型,如未授权异常 UnAuthorizedException,程序可跳转权限申请页面。

  3. 常见受检异常还有 FileNotFoundException、ClassNotFoundException、IOException等。

非受检异常:

  1. 可预测异常,例如 IndexOutOfBoundsException、NullPointerException、ClassCastException 等,这类异常应该提前处理。

  2. 需捕捉异常,例如进行 RPC 调用时的远程服务超时,这类异常客户端必须显式处理。

  3. 可透出异常,指框架或系统产生的且会自行处理的异常,例如 Spring 的 NoSuchRequestHandingMethodException,Spring 会自动完成异常处理,将异常自动映射到合适的状态码。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐