JVM——java的异常处理机制

java的异常处理机制

1、java中的异常

异常指的是成勋运行时所发生的非正常情况或者错误,JVM会将错误表示为一个异常并抛出。这个异常可以在catch代码块中进行捕获,然后处理。

Java中定义了一个Throwable作为所有异常的基类。Throwable下面有两个重要的子类Error和Exception。
在这里插入图片描述
1、Error(错误)

例如:OutOfMemoryError、ThreadDeath

JVM层次的严重错误,一般会导致程序中止执行。一般来说,一个正常的程序是不应该存在Error错误的。

2、Exception(可恢复的异常,编译器可以捕捉到)
分为检查异常(checked exception)和运行时异常(running exception)。

(1)检查异常(checked exception)
例如:IOException

此类异常通常发生在编译阶段,java编译器会强制程序去捕获这类异常,即把异常代码写到try块中,把对异常处理的代码写到catch块中。

这种检查异常一般在以下几种情况下使用:
(i)异常的发生一般不会导致程序出错,进行处理后可以继续执行后面的操作。例如连接数据库失败之后,可以重新连接后进行后续操作;
(ii)程序依赖于不可靠的外部条件,比如IO资源。

(2)运行时异常(running exception)

例如:NullPointException(空指针异常)、ClassCastException(类型转换异常)、ArrayIdexOutOfBoundsException(数组越界异常)、BufferOverflowException(缓存区溢出异常)、ArithmeticException(算术异常)等。

此类异常不同于检查异常,编译器不会强制进行捕获处理。一般是由于代码不规范导致的,可以通过规范代码来避免这种异常。

2、java中的异常处理机制?

java中的异常处理机制有两种:捕获异常;抛出异常。
(1)try-catch语句块,进行异常捕获,finally块中进行异常捕获后的处理。
(2)通过throws抛出异常;或者throw抛出自定义异常。

3、异常处理时,应当注意的问题?

(1)java异常处理用到了多态的概念,进行异常捕获的时候,需要先捕获子类,再捕获基类的基本信息。

(2)尽早抛出异常,并对异常进行处理,或者从错误中恢复,使程序继续执行。

(3)可以自定义异常类,这些自定义异常类只要继承自Exception类即可。

(4)异常能处理就处理,不能处理的话就抛出。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值