Java的异常机制

本文详细介绍了Java中的异常处理机制,包括exception与error的区别、异常的抛出与捕获过程,以及try-catch-finally语句块的使用方法。此外还列举了Java中常见的异常类型及其应用场景。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  •  <!--[if !supportLists]--> <!--[endif]-->异常(exception)机制

将程序执行时可能发生的错误分为两种:exceptionerror(编译时遇到的错误一般是语法错误,不包括在此列)。exception一般是非致命性的,通过某种修正后程序可继续执行。例如打开一个不存在的文件;又比如除零溢出、数组越界访问等。error一般是致命的,使程序陷入严重的不正常状态,不能简单地恢复执行,比如程序执行过程中内存耗尽。

 

当方法执行时有错误发生时,方法会创建一个异常对象将异常传递给运行时系统,这个过程就叫“抛出(throw)异常”。异常对象封装了错误信息,包括错误类型和程序状态。

 

异常发生时,java运行时系统从生成异常对象的代码段开始,沿方法调用栈逐次回溯,直到找到相应的异常处理代码为止,并把异常对象传递给该方法处理,这一过程成为捕获(catch)

 

try-catch-finally

try {

// 可能产生异常的代码,放在try-block中称为“保护代码”

} catch (ExceptionType1 e) {  // 捕获ExceptionType1异常时要执行的代码 }

catch (ExceptionType2 e) {  // 捕获ExceptionType2异常时要执行的代码 }

  ……

catch (ExcepionTypek e) {  // 捕获ExceptionTypek异常时要执行的代码 }

finally {  // 无论是否捕获异常都必须执行的代码,除非在try-block中调用了

// System.exit ( )方法;

// 一般地,为了统一处理程序出口,可将需公共处理的内容放到其中

}

 

Java中预定的常见异常

1. ArithmeticException  零除数溢出

 

2. NullPointerException  空引用异常

 

3. NegativeArraySizeExcepion

 

4. ArrayIndexOutOfBoundsException  数组下标越界

 

5. SecurityException  该类异常一般在浏览器内抛出。若Applet试图进行下列操作,则由SecurityManager类抛出此异常:

(1) 访问本地文件;

(2) 打开一个socket,而不是返回到提供Applet的主机;

(3) 在运行时环境中运行另一个程序。

 

6. ArrayStoreException  程序试图存取数组中错误的数据类型

 

7. FileNotFoundException

 

8. IOException

 

9. SQLException

 

10. NumberFormatException

 例如:Double.parseDouble(aStr);

当aStr内容是非数值时,会抛出NumberFormatException异常

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值