java异常问题。什么时候用RuntimeExceptioN????

本文深入探讨Java中的异常处理机制,区分检查型异常与非检查型异常。检查型异常如FileNotFoundException,通常代表可恢复的情况;非检查型异常如RuntimeException,常指示程序逻辑错误,应立即停止执行并修复。

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

java异常问题。什么时候用RuntimeExceptioN???? 10

 我来答

分享

举报浏览 1225 次

2个回答

#热议# “纸票乘车”将成历史,你有哪些与火车票有关的故事?

匿名用户 
推荐于2017-05-22

Error和RuntimeException 及其子类都是未检查的异常(unchecked exceptions),而所有其他的Exception类都是检查了的异常(checked exceptions).
checked exceptions: 通常是从一个可以恢复的程序中抛出来的,并且最好能够从这种异常中使用程序恢复。比如FileNotFoundException, ParseException等。
unchecked exceptions: 通常是如果一切正常的话本不该发生的异常,但是的确发生了。比如ArrayIndexOutOfBoundException, ClassCastException等。从语言本身的角度讲,程序不该去catch这类异常,虽然能够从诸如RuntimeException这样的异常中catch并恢复,但是并不鼓励终端程序员这么做,因为完全没要必要。因为这类错误本身就是bug,应该被修复,出现此类错误时程序就应该立即停止执行。 因此,面对Errors和unchecked exceptions应该让程序自动终止执行,程序员不该做诸如try/catch这样的事情,而是应该查明原因,修改代码逻辑。

 6   

 评论 

分享

 举报收起

cqf516 
2015-07-30

一般编译器都会提示你抛的啊,比如IO流,http通信,框架里头会有包没导入,如果是自己写的基本上比如除数是0啊什么的

Java中,运行时异常RuntimeException)是一种不强制要求在代码中进行捕获或声明的异常。它们通常是由于程序逻辑错误引起的,而不是由于外部条件或资源问题。运行时异常是所有异常的子类,主要包括以下几种: 1. **NullPointerException**:当程序试图在需要对象的地方使用null时抛出。 2. **IndexOutOfBoundsException**:当程序试图访问不存在的索引时抛出,例如数组或集合。 3. **ArithmeticException**:当出现算术错误时抛出,例如除以零。 4. **ClassCastException**:当试图将对象强制转换为不是实例的子类时抛出。 运行时异常的特点是: - **不需要显式捕获**:编译器不会强制要求你捕获这些异常。 - **通常表示程序错误**:这些异常通常是由于编程错误引起的,而不是由于外部环境或资源问题。 以下是一些处理运行时异常的示例: ```java public class RuntimeExceptionExample { public static void main(String[] args) { try { // 可能抛出NullPointerException String text = null; System.out.println(text.length()); // 可能抛出ArithmeticException int result = 10 / 0; System.out.println(result); // 可能抛出IndexOutOfBoundsException int[] numbers = {1, 2, 3}; System.out.println(numbers[5]); } catch (NullPointerException e) { System.out.println("捕获到空指针异常: " + e.getMessage()); } catch (ArithmeticException e) { System.out.println("捕获到算术异常: " + e.getMessage()); } catch (IndexOutOfBoundsException e) { System.out.println("捕获到索引越界异常: " + e.getMessage()); } } } ``` 在这个示例中,我们尝试访问一个null对象、除以零以及访问不存在的数组索引,这些操作都会抛出运行时异常
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值