Java异常Exception-checked、unchecked

Java异常Exception-checked、uncheckedException:出现的问题是可以被捕获的;Error:系统错误,通常由JVM处理。可捕获的异常又可以分为两类:,只需要保存异常线程,人工介入

大家好,欢迎来到IT知识分享网。

Java 异常分类

Java异常Exception-checked、unchecked

Throwable类有两个直接子类:

  • Exception:出现的问题是可以被捕获的;
  • Error:系统错误,通常由JVM处理。

可捕获的异常又可以分为两类:

(1)checked异常: 直接派生自Exception的异常类,必须被捕获或再次声明抛出。

  • 无能为力、引起注意型 — 如SQLException(字段超长),只需要保存异常线程,人工介入解决。
  • 可以处置型 — 如发生未授权异常(UnAuthorizedException),可以跳转至权限申请页面。

(2)unchecked异常( RuntimeException):派生自RuntimeException的异常类。使用throw语句可以随时抛出这种异常对象。

throw new ArithmeticException(…);

  • 可预测异常(Predicted Exception)— 如IndexOutOfBoundsException、NullPointerException,应该提前做好边界检查、空指针判断。
  • 需捕捉异常(Caution Exception) — 如DubboTimeoutException,客户端必须显式处理,可以重试或者降级处理等等。
  • 可透出异常(Ignored Exception)— 框架或系统产生的,且会自行处理,而程序无须关心。
Java异常Exception-checked、unchecked

Java异常Exception-checked、unchecked

异常抛出设计:

  • 对外提供的开发接口,建议使用错误码;
  • 公司内部跨应用远程服务调用,优先考虑使用Result 对象来封装错误码、错误描述信息;
  • 应用内部,则推荐直接抛出异常对象;

防止NPE(NullPointerException),一定是调用方的责任,需要调用方进行事先判断。

两个关键字 throw 和throws 的区别

throw new Exception(…);

  • throw — 在方法内部抛出具体异常类对象的关键字;
  • throws — 用在方法signature 上,表示方法调用者可以此方法声明向上抛出异常对象。

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/13147.html

(0)
上一篇 2024-03-08 09:26
下一篇 2024-03-08 09:45

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

关注微信