Error 和 Exception 的区别?

在这里插入图片描述

1.Error 和 Exception 的区别?
在这里插入图片描述
Error 和 Exception 都是Throwable的子类, 在java中只有Throwable类型的实例才可以被抛出或者捕获,它是异常处理机制的基本类型.

1,Exception 和 Error体现了java平台设计者对不同异常情况的分类, Exception是程序正常运行中,可以预料的意外情况,可以被捕获,进行相应的处理.
2.Error 是指正常情况下,不大可能出现的情况,绝大部分的Error 都会导致程序处于非正常的,不可恢复的状态, 不需要捕获, 常见的OutOfMemoryError 是Error的子类.
3.Exception 分为可检查异常(checked) 和 不可检查异常(unchecked).可检查异常在源代码里必须显式的进行捕获处理,这是编译期检查的一部分,不可检查异常是指运行时异常, 比如NullPointerException, ArrayIndexOutOfBoundsException之类, 通常是可以编码避免的逻辑错误,具体根据需要来判断是否需要捕获,并不会在编译期强制要求.

2.Java中的异常处理关键字是什么?
(1). throw:有时我们显式地想要创建一个异常对象,然后抛出它来停止程序的正常处理。throw关键字用于向运行时抛出异常来处理它。
(2). throws:当我们在一个方法中抛出任何选中的异常而不处理它时,我们需要在方法签名中使用throws关键字来让调用程序知道该方法可能抛出的异常。调用者方法可以处理这些异常,或者使用throws关键字将它们传播到调用者方法。我们可以在throws子句中提供多个异常,它也可以与main()方法一起使用。
(3). try-catch:我们在代码中使用try-catch块来处理异常。try是块的开始,catch在try块的末尾处理异常。我们可以用try来创建多个catch块,也可以嵌套try catch块。catch块需要类型为Exception的参数。
(4). finally:finally块是可选的,只能与try-catch块一起使用。由于异常会停止执行过程,因此我们可能会打开一些资源,而这些资源不会关闭,因此我们可以使用finally块。无论是否发生异常,finally块始终执行。

3.常见的检查异常 和 非检查异常?
(1) 非检查异常:

  • ArrayIndexOutOfBoundsException //用非法索引访问数组时抛出的异常。如果索引为负或大于等于数组大小,则该索引为非法索引
  • ArithmeticException //当出现异常的运算条件时,抛出此异常。( 例如,一个整数“除以零”时,抛出此类的一个实例)
  • IllegaArguementException //抛出的异常表明向方法传递了一个不合法或不正确的参数
  • NullPointerException //空指针异常(调用 null 对象的实例方法等)
  • ClassCastException //类转换异常
  • ArrayStoreException //数据存储异常,操作数组时类型不一致

(2) 检查异常

  • ClassNotFoundException // 找不到具有指定名称的类的定义
  • DataFormatException //数据格式异常
  • IOException //输入输出异常
  • SQLException //提供有关数据库访问错误或其他错误的信息的异常
  • FileNotFoundException //当试图打开指定路径名表示的文件失败时,抛出此异常
  • EOFException //当输入过程中意外到达文件或流的末尾时,抛出此异常
    在这里插入图片描述
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值