Java中异常处理机制及如何进行异常处理

对Java初学者来讲,在无法在逻辑上提高自己代码的健壮性的情况下,对Java代码进行异常处理就显得十分重要了。

话不多说,直接步入主题:

Java异常处理机制

可以从以下三个方面思考:

  • 虚拟机必须宕机的错误
  • 程序可以死掉也可以不死掉的错误
  • 程序不应该死掉的错误

其中异常是指java程序运行时(非编译)所发生的非正常情况错误

Java的系统定义了异常类,层次如下图所示:

Java异常类层次结构图

Java使用面向对象的方式来处理异常,它把程序中发生的每个异常也都分别封装到一个对象中,该对象中包含有异常的信息。
Java可以自定义异常类,所有异常的根类为java.lang.Throwable,Throwable下面又派生了两个子类:Error(错误)Exception(异常)

其中:

  1. Error表示程序本身无法处理和恢复的一种比较严重的问题。例如:内存溢出和线程死锁等系统问题。
  2. Exception表示程序能够处理和恢复的问题,其中又分为运行时异常和检查异常。

运行时异常是软件本身缺陷所导致的问题,也就是软件开发时没有处理好而导致的问题,软件使用者无法处理和恢复这种问题,但在这种问题下还可以让软件系统继续运行或者让软件关闭。例如,数组越界(ArrayIndexOutOfBoundsException),空指针异常(NullPointerException)、类转换异常(ClassCastException);

检查异常是运行环境的变化或异常所导致的问题,是软件使用者能够处理的问题,例如,网络断线,硬盘空间不够,发生这样的异常后,程序不应该关闭掉。

扫描二维码关注公众号,回复: 10970623 查看本文章

在Java中异常处理机制就是先抛出异常(发现可能的异常),捕获异常(处理异常)。
异常总是先抛出再捕获

如何进行异常处理:

对于检查异常:
必须try…catch处理或用throws声明继续抛给上层调用方法处理,所以检查异常也称为checked异常。

对于运行异常:
可以处理也可以不处理,所以编译器不强制用try…catch处理或用throws声明,所以运行异常也称为Runtime异常。

  • 在try中可以抛出异常,try尝试执行,里面的语句可能出现异常,如出现异常需要处理,catch处理try中出现的异常(即try-catch语句)
  • finally在try后执行清理操作,用于释放资源(try-catch-finally语句)
  • throws为向上抛异常,throw程序出错时,手工抛出异常

更多参考:深入理解java异常处理机制

发布了6 篇原创文章 · 获赞 2 · 访问量 93

猜你喜欢

转载自blog.csdn.net/weixin_44253375/article/details/105491281