discuz 企业网站 模板网站链接
news/
2025/9/23 19:02:11/
文章来源:
discuz 企业网站 模板,网站链接,网页设计实训报告范例,易优cms仿站教程在 Java 中#xff0c;所有的异常都有一个共同的祖先 Throwable(可抛出)。Throwable 指定代码中可用异常传播机制通过 Java 应用程序传输的任何问题的共性。Throwable 有两个重要的子类#xff1a;Exception(异常)和 Error(错误)#xff0c;二者都是 Java 异常处理的重要子类…在 Java 中所有的异常都有一个共同的祖先 Throwable(可抛出)。Throwable 指定代码中可用异常传播机制通过 Java 应用程序传输的任何问题的共性。Throwable 有两个重要的子类Exception(异常)和 Error(错误)二者都是 Java 异常处理的重要子类各自都包含大量子类。①.Exception(异常)是应用程序中可能的可预测、可恢复问题。一般大多数异常表示中度到轻度的问题。异常一般是在特定环境下产生的通常出现在代码的特定方法和操作中。在 Input 类中当试图调用 readLine 方法时可能出现 IOException 异常。Exception 类有一个重要的子类 RuntimeException。RuntimeException 类及其子类表示“JVM 常用操作”引发的错误。例如若试图使用空值对象引用、除数为零或数组越界则分别引发运行时异常(NullPointerException、ArithmeticException)和 ArrayIndexOutOfBoundException。②.Error(错误)表示运行应用程序中较严重问题。大多数错误与代码编写者执行的操作无关而表示代码运行时JVM(Java 虚拟机)出现的问题。例如当 JVM 不再有继续执行操作所需的内存资源时将出现不受检查异常和受检查异常的划分Java中的异常分为两大类1.Checked Exception(非Runtime Exception)2.Unchecked Exception(Runtime Exception)运行时异常RuntimeException类是Exception类的子类它叫做运行时异常Java中的所有运行时异常都会直接或者间接地继承自RuntimeException类。Java中凡是继承自Exception而不继承自RuntimeException类的异常都是非运行时异常。一个try后面可以跟多个catch但不管多少个最多只会有一个catch块被执行。对于非运行时异常(checked exception)必须要对其进行处理否则无法通过编译。处理方式有两种:1.使用try..catch..finally进行捕获2.在产生异常的方法声明后面写上throws 某一个Exception类型如throws Exception将异常抛出到外面一层去。对于运行时异常(runtime exception)可以对其进行处理也可以不处理。推荐不对运行时异常进行处理。扩展错误和异常的区别(Error vs Exception)1).java.lang.Error: Throwable的子类用于标记严重错误。合理的应用程序不应该去try/catch这种错误。绝大多数的错误都是非正常的就根本不该出现的。java.lang.Exception: Throwable的子类用于指示一种合理的程序想去catch的条件。即它仅仅是一种程序运行条件而非严重错误并且鼓励用户程序去catch它。2).Error和RuntimeException及其子类都是未检查的异常(unchecked exceptions)而所有其他Exception类都是检查了的异常(checked exceptions)。checked exceptions:通常是从一个可以恢复的程序中抛出来的并且最好能够从这种异常中使用程序恢复。比如FileNotFoundException, ParseException等。检查了的异常发生在编译阶段必须要使用try…catch(或者throws)否则编译不通过。unchecked exceptions:通常是如果一切正常的话本不该发生的异常但是的确发生了。发生在运行期具有不确定性主要是由于程序的逻辑问题所引起的。比如ArrayIndexOutOfBoundException, ClassCastException等。从语言本身的角度讲程序不该去catch这类异常虽然能够从诸如RuntimeException这样的异常中catch并恢复但是并不鼓励终端程序员这么做因为完全没要必要。因为这类错误本身就是bug应该被修复出现此类错误时程序就应该立即停止执行。 因此面对Errors和unchecked exceptions应该让程序自动终止执行程序员不该做诸如try/catch这样的事情而是应该查明原因修改代码逻辑。RuntimeExceptionRuntimeException体系包括错误的类型转换、数组越界访问和试图访问空指针等等。处理RuntimeException的原则是如果出现 RuntimeException那么一定是程序员的错误。例如可以通过检查数组下标和数组边界来避免数组越界访问异常。其他(IOException等等)checked异常一般是外部错误例如试图从文件尾后读取数据等这并不是程序本身的错误而是在应用环境中出现的外部错误。
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/913558.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!