运行时异常表示虚拟机的通常操作中可能遇到的异常,是一种常见运行错误,只要程序设计得没有问题通常就不会发生。
非运行时异常(受检异常)跟程序运行的上下文环境有关,即使程序设计无误,仍然可能因使用的问题而引发。Java编译器要求方法必须声明抛出可能发生的受检异常,但是并不要求必须声明抛出未被捕获的运行时异常。
异常和继承一样,是面向对象程序设计中经常被滥用的东西,神作《Effective Java》中对异常的使用给出了以下指导原则:
不要将异常处理用于正常的控制流(设计良好的API不应该强迫它的调用者为了正常的控制流而使用异常)
对可以恢复的情况使用受检异常,对编程错误使用运行时异常
避免不必要的使用受检异常(可以通过一些状态检测手段来避免异常发生)
优先使用标准的异常
每个方法抛出的异常都要有文档
保持异常的原子性
不要在catch中忽略掉捕获到的异常
运行时异常和一般异常的区别
运行时异常和一般异常的区别:1、定义不同。运行时异常都是RuntimeException类及其子类异常,如NullPointerException、IndexOutOfBoundsException等。一般异常是RuntimeException以外的异常,类型上来都属于Exception类及其子类。2、处理方法不同。运行时异常是不检查异常,程序中可以选择捕获处理,也可以不处理。对...
运行时异常与非运行时异常有什么区别?
异常表示程序运行过程中可能出现的非正常状态 运行时异常表示虚拟机的通常操作中可能遇到的异常,是一种常见运行错误,只要程序设计得没有问题通常就不会发生。非运行时异常跟程序运行的上下文环境有关,即使程序设计无误,仍然可能因使用的问题而引发。Java编译器要求方法必须声明抛出可能发生的受检异常,但是...
运行时异常与一般异常有何不同
Java提供了两类主要的异常:运行时异常runtime exception和一般异常checked exception。checked 异常。对于后者这种异常,JAVA要求程序员对其进行catch。所以,面对这种异常不管我们是否愿意,只能自己去写一大堆catch块去处理可能的异常。运行时异常我们可以不处理。这样的异常由虚拟机接管。出现运行时异常后,系统...
运行时异常与一般异常有何异同?
运行时异常是不检查异常,程序中可以选择捕获处理,也可以不处理。这些异常一般是由程序逻辑错误引起的。当出现RuntimeException的时候,我们可以不处理,总是由虚拟机接管。比如:我们从来没有人去处理过NullPointerException异常,它就是运行时异常,并且这种异常还是最常见的异常之一。出现运行时异常后,如果...
异常(Exception)分几种类型?有什么区别?写出几个常见异常。
1、运行时异常都是 RuntimeException 类及其子类异常,如 NullPointerException、IndexOutOfBoundsException 等,这些异常是不检查异常,程序中可以选择捕获处理,也可以不处理。这些异常一般由程序逻辑错误引起,程序应该从逻辑角度尽可能避免这类异常的发生。2、非运行时异常是指 RuntimeException 以外的异常,...
Java中什么是运行时异常,什么是非运行时的异常?
运行时异常一般是属于可控制的,比如说我有个参数是必须输入的但是又是认为的控制输入那么这里我可以有这么一个判断如果这个参数为空我就抛出一个运行时异常告诉用户这个参数必须输入,非运行时异常则是代码里面有bug本身不知道哪里会有错但是出错了不可控制的异常情况。
java 运行期和非运行期的异常处理有什么区别
运行期的异常不需要你去捕获,直接交由系统处理,而非运行期的异常是需要人为去捕获处理的。它们都是从抛出异常类Throwable继承而来的,它派生出两个类Error和Exception。由Error派生的子类命名为XXXError,其中词XXX是描述错误类型的词。由Exception派生的子类命名为XXXException,其中词XXX是描述异常类型的词...
Java中,运行异常和一般异常的区别是什么?
运行时异常:由java虚拟机抛出的异常。用户不必处理。 而一般异常是用户可以抛出的异常,如果抛出调用必须进行处理。\\x0d\\x0a\\x0d\\x0a1,从机制角度来讲:\\x0d\\x0a 运行时异常:\\x0d\\x0a在定义方法时不需要声明会抛出runtime exception;\\x0d\\x0a在调用这个方法时不需要捕获这个runtime ...
...检查性异常,非检查性异常,运行时异常非运行时异常,我怎么晕了啊_百...
检查性异常: 不处理编译不能通过 非检查性异常:不处理编译可以通过,如果有抛出直接抛到控制台。运行时异常: 就是非检查性异常 非运行时异常: 就是检查性异常
什么叫异常
异常通常包括以下几种类型:1.语法异常:这类异常是由于代码中存在语法错误导致的。例如,编写代码时使用了错误的语法结构或关键字,编译器在编译阶段就会抛出语法异常。2.运行时异常:这类异常是在程序运行时发生的,通常是由于不正确的操作或输入数据引起的。例如,尝试访问空指针或数组越界等。这类异常...