Java编译异常与运行异常

Java编译异常与运行异常,第1张

Java编译异常与运行异常

文章目录
  • 前言
  • 一、编译时异常
      • 常见的编译时异常
  • 二、运行时异常
      • 常见的运行时异常
  • 总结


前言

在实际开发中,经常会在程序编译时产生一些异常,而这些异常必须要进行处理,这种异常被称为编译时异常,也称为checked异常。另外还有一种异常是在程序运行时产生的,这种异常即使不编写异常处理代码,依然可以通过编译,因此称为运行时异常,也称为unchecked异常。接下来就分别对这两种异常进行详细的讲解。

一、编译时异常

在Java中, Exception类中除了 RuntimeException类及其子类都是编译时异常。编译时异常的特点是Java编译器会对其进行检查,如果出现异常就必须对异常进行处理,否则程序无法通过编译。处理编译时期的异常有两种方式,具体如下:

  1. 使用try…catch语句对异常进行捕获。
  2. 使用throws关键字声明抛出异常,调用者对其处理。
常见的编译时异常

OException:输入输出流异常

FileNotFoundException:文件找不到的异常

ClassNotFoundException:类找不到的异常

DataFormatException:数据格式化异常

NoSuchFieldException:没有匹配的属性异常

NoSuchMethodException:没有匹配的方法异常

SQLException:数据库 *** 作异常

TimeoutException:执行超时异常

二、运行时异常

RuntimeException类及其子类都是运行时异常。运行时异常的特点是Java编译器不会对其进行检查,也就是说,当程序中出现这类异常时,即使没有使用try…catch语句捕获或使用throws关键字声明抛出,程序也能编译通过。运行时异常一般是由程序中的逻辑错误引起的,在程序运行时无法恢复。比如通过数组的角标访问数组的元素时,如果超过了数组的最大角标,就会发生运行时异常,代码如下所示:

int [] arr=new int[5];
System.out.println(arr[6]);

上面代码中,由于数组arr的 length为5,最大角标应为4,当使用arr[6]访问数组中的元素就会发生数组角标越界的异常。

常见的运行时异常

RuntimeException:运行时异常

NullPointerException:空指针异常

ArrayIndexOutofBoundsException:数组越界异

ClassCastException:类型转换异常

IllegalArgumentException:非法的参数异常

InputMismatchException:输入不匹配

总结

以上这些就是常见的异常,但是作为Java人员,这些异常现象一定要熟悉,不仅如此还要学会解决异常,这样才是作为一个Java人员应该具备的技能哦。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5435195.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-11
下一篇 2022-12-11

发表评论

登录后才能评论

评论列表(0条)

保存