java异常相关知识点

本文详细介绍了Java中的异常处理机制,包括异常的分类如受检查的和不受检查的异常,Exception与Error的区别,以及RuntimeException的特点。此外还解释了throw与throws的不同用法。

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

异常体系:

所有异常都是由Throwable继承而来。

1.Java中的两种异常类型是什么?他们有什么区别?

Java中有两种异常:受检查的(checked)异常和不受检查的(unchecked)异常。
区别:不受检查的异常不需要在方法或者是构造函数上声明,就算方法或者是构造函数的执行可能会抛出这样的异常,并且不受检查的异常可以传播到方法或者是构造函数的外面。相反,受检查的异常必须要用throws语句在方法或者是构造函数上声明。

2.Java中Exception和Error有什么区别?

Exception和Error都是Throwable的子类。
error类描述了java运行时内部错误和资源耗尽错误。应用程序不抛出此类异常,这种内部错误一旦出现,除了告知用户并使程序安全终止之外,再无能力。
Exception之下又分为两个分支,RuntimeException(程序错误导致的异常)和IOException(I/O错误导致的异常)
Exception用于用户程序可以捕获的异常情况。Error定义了不期望被用户程序捕获的异常。

3.Exception和RuntimeException的区别

使用Exception是RuntimeException的父类,使用Exception定 义的异常都要求必须使用异常处理,而使用RuntineException定义的异常可以由用户选择性的来进行异常处理。
常见的RuntimeExceptionClassCastException, NullPointerException等。

4.throw和throws有什么区别?

throw:用于方法中,表示人为进行异常类的产生。如果现在异常对象实例化不希望通过JVM产生
而通过用户产生,使用throw关键字
throws:用在方法上,在进行方法定义时,明确告诉调用者本方法可能产生哪些异常,并且异常时不必处理。
异常抛到最上层是JVM。
区别:
throw用于方法内部,主要是表示手工抛出
throws主要在方法声明上使用,明确告诉用户方法可能产生异常,同时该方法可能不处理此类异常

5.异常处理完成以后,Exception对象会发生什么变化?

Exception对象会在下一个垃圾回收过程中被回收掉

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值