首页>新闻>南阳发布Java编程异常分类与处理方法

南阳发布Java编程异常分类与处理方法

来源:南阳达内it教育

时间:2023/3/9 16:44:53

  1、异常分类

  Throwable对象可以分为两组:

  一组是unchecked异常,异常处理机制往往不用于这组异常,包括:

  Error类通常是指Java的内部错误以及如资源耗尽的错误。当Error(及其衍生类)发生时,我们不能在编程层面上解决Error,所以应该直接退出程序。

  Exception类有特殊的一个衍生类RuntimeException。RuntimeException(及其衍生类)是Java程序自身造成的,也就是说,由于程序员在编程时犯错。RuntimeException完全可以通过修正Java程序避免。比如将一个类型的对象转换成没有继承关系的另一个类型,即ClassCastException。这类异常应该并且可以避免。

  另一组是checked异常。这些类是由编程与环境互动造成程序在运行时出错。比如读取文件时,由于文件本身有错误,发生IOException。

  2、编译器对checked、unchecked异常的处理

  对于checked异常,若方法声明里面没有throws,编译器会报错。当然,若用try...catch...来捕获处理或抛错异常就不需要在方法申明中添加throws异常。

  3、如何使用异常处理机制

  Java的异常处理机制异常是一种强大的调试手段,它解决了下三个问题:

  什么出了错?(异常类型)

  在哪出的错?(异常堆栈跟踪)

  为什么出错?(异常信息)

  但是如果你没有使用好异常处理机制,即不清楚"何时抛出异常,何时捕获异常,何时处理异常",就不可能很好的解决上述三个问题。以下原则可以帮你很好的使用异常处理机制:

  具体明确(异常类型)

  提早抛出(1抛更具体的异常类型,2更好的定位)

  延迟捕获(在能处理的时候捕获,而不是把它‘吃掉’)

  4、异常处理细则

  如果你不能处理异常,不要捕获该异常。

  如果要捕获,应在离异常源近的地方捕获它。

  不要吞没你捕获的异常。(就是捕获的异常,但是什么也不做)

  除非你要重新抛出异常,否则把它log起来。

  当一个异常被重新包装,然后重新抛出的时候,不要打印statcktrace。

  用自定义的异常类,不要每次需要抛出异常的时候都抛出java.lang.Exception。方法的调用者可以通过throws知道有哪些异常需要处理--所以它是自我描述的。

  不要因为写throws语句会让你用起来不舒服,而不声明需要检查的异常。

  应用级别的错误或不可修复的系统异常用非检查的异常(uncheckedexception)抛出。*(注意是错误,意味着不可修复,比如配置文件错误)

  根据异常的粒度组织你的方法

  • 上一篇:程序员技术掌握分为哪几个阶段南阳发布
  • 下一篇:南阳新人0起点怎么样学习ui设计
  • 相关推荐 更多>

    南阳优选出色的web前端开发培训...

    南阳几大前端开发培训机构推荐名单...

    南阳暑假学web教学优质的培训机...

    南阳有实力的大前端培训机构名单榜...

    南阳本地哪儿有web前端开发培训...

    南阳值得学习的web前端开发工程...

    预约体验课

    版权所有:搜学搜课(www.soxsok.com)

  • 在线咨询
  • 电话咨询
  • 预约试听

  • ;