异常和错误的区别
异常: 在Java中程序的错误主要是语法错误和语义错误,一个程序在编译和运行时出现的错误我们统一称之为异常,它是VM(虚拟机)通知你的一种方式,通过这种方式,VM让你知道,你(开发人员)已经犯了个错误,现在有一个机会来修改它。Java中使用异常类来表示异常,不同的异常类代表了不同的异常。但是在Java中所有的异常都有一个基类,叫做Exception。
错误:它指的是一个合理的应用程序不能截获的严重的问题。大多数都是反常的情况。”,错误是VM的一个故障(虽然它可以是任何系统级的服务)。所以,错误是很难处理的,一般的开发人员(当然不是你)是无法处理这些错误的。比如内存溢出;
和异常一样,在Java中用错误类来表示错误,不同的错误类代表了不同的错误。
但是在Java中所有的错误都有一个基类,叫做Error。
综上,我们可以知道异常和错误最本质的区别就是异常能被开发人员处理
而错误时系统本来自带的,一般无法处理也不需要我们程序员来处理。
异常的分类
在Java中异常分为两大类:编译异常和运行异常
运行异常即是RuntimeException;其余的全部为编译异常
JAVA中的异常体系
在Java中异常Exception和错误Error有个共同的父类Throwable.
三、runtimeException几个子类的具体介绍
1、 java.lang.ArrayIndexOutOfBoundsException
数组索引越界异常。当对数组的索引值为负数或大于等于数组大小时抛出。
2、java.lang.ArithmeticException
算术条件异常。譬如:整数除零等。
3、java.lang.NullPointerException
空指针异常。当应用试图在要求使用对象的地方使用了null时,抛出该异常。譬如:调用null对象的实例方法、访问null对象的属性、计算null对象的长度、使用throw语句抛出null等等
4、java.lang.ClassNotFoundException
找不到类异常。当应用试图根据字符串形式的类名构造类,而在遍历CLASSPAH之后找不到对应名称的class文件时,抛出该异常。
分享到:
相关推荐
本文将从 Java 异常的基本概念和语法开始,讲述 Java 异常处理的基本知识,分析 Java 异常体系结构,对比 Spring 的异常处理框架,阐述异常处理的基本原则,并提出了自己处理一个大型应用系统异常的思想,并通过设计...
2. **错误与异常的区别**: - **错误(Error)**:通常是由于系统资源问题或严重编程错误导致的,例如内存溢出、虚拟机错误等。这些错误通常在编程阶段难以预防,一旦发生,程序很难自行恢复,通常需要外部干预。 ...
Java 异常体系结构呈树状,其层次结构图如下所示: 图 1 Java 异常体系结构 Throwable 类是所有异常和错误的超类,有两个子类 Error 和 Exception,分别表示错误和异常。其中异常类 Exception 又分为运行时异常...
Java异常处理是编程中的关键组成部分,它确保了程序的健壮性...总结来说,理解Java异常体系和处理机制是成为一名专业Java开发者的基础,合理的异常处理可以提高代码质量,降低维护成本,并有助于快速定位和解决问题。
#### Java异常体系 Java中的异常体系主要基于`Throwable`类,它是所有错误或异常的超类,包含两个直接子类:`Exception`和`Error`。 - **Error**:表示程序无法处理的情况,例如虚拟机错误(`VirtualMachineError`...
#### 一、Java异常类结构体系 Java异常处理机制是基于类的继承体系构建的,其中所有异常类都直接或间接地继承自`Throwable`类。`Throwable`类作为所有异常和错误的基类,提供了错误堆栈实现等一系列方法。 #### 二...
Java学习体系结构是一个全面的指南,旨在帮助初学者掌握Java编程技能,并逐步深入到JavaEE应用开发。以下是对各个知识点的详细说明: 1. **JavaSE基础**:这是学习Java的第一步,包括JDK的安装,编写HelloWorld程序...
Java的异常体系结构基于`Throwable`类,它是所有异常和错误的基类。`Throwable`有两个主要子类:`Error`和`Exception`。 1. `Error`类代表的是程序无法处理的严重问题,通常是JVM或系统级别的错误。例如,`...
- **掌握Java的安装与配置:** 包括JDK的下载、安装及环境变量的配置。 - **熟悉开发工具:** 如Eclipse或IntelliJ IDEA等集成开发环境的使用。 - **Java基本语法学习:** 包括变量声明、数据类型、运算符等。 ####...
### Java与.NET的区别 #### 一、概述 Java与.NET是两种广泛使用的软件开发平台,它们各有优势和局限性。本文将从多个方面探讨这两种技术的不同之处,为开发者提供参考,帮助他们根据项目需求选择最适合的技术栈。 ...
《Java工程师修炼之道》是一本旨在帮助Java开发者深入理解Java知识体系、巩固架构基础的书籍。通过对本书内容的梳理,我们可以发现它涵盖了多个关键的知识点,这些知识点是每一位Java工程师在提升技能、优化实践过程...
在异常处理部分,书里详述了Java的异常体系,包括检查型异常和运行时异常的区别,如何使用try-catch-finally语句块进行异常处理,以及何时使用throw和throws关键字。良好的异常处理习惯能够使程序更加健壮,提高代码...
3. **异常处理**:Java提供了强大的异常处理机制,用于捕获和处理运行时错误。了解如何使用try-catch-finally语句块以及不同类型的异常类是必不可少的。 4. **集合框架**:Java集合框架包括接口(如List、Set、Map...
* 安全性(Secure):Java语言引入了多级安全措施,包括内存分配及布局、代码认证、字节码验证与代码访问权限控制等。 * 体系结构中立(Architecture neutral):Java语言环境提供了一个用于访问底层操作系统功能的...
3. **异常处理**:Java提供了强大的异常处理机制,通过try-catch-finally语句块来捕获和处理运行时错误。III-06.mp3可能涉及了如何有效地使用异常处理来增强代码的健壮性。 4. **数组与集合框架**:Java中的数组和...
为了更好地理解 `Error` 和 `Exception` 的区别,下面是一个简化的Java异常类继承关系图: ``` java.lang.Object java.lang.Throwable java.lang.Error java.lang.OutOfMemoryError java.lang.StackOverflow...
8. **IO与NIO**:了解Java的IO流体系,对比传统的IO和非阻塞IO(NIO)的区别和使用场景。 9. **网络编程**:通过Socket编程实现客户端和服务器之间的通信,理解TCP和UDP协议的区别。 10. **数据库连接**:学习JDBC...
3. **异常处理**:Java提供了一种统一的方式来处理程序中的错误,即异常处理。学会使用try-catch-finally语句块来捕获和处理异常,以及理解Checked异常和Unchecked异常的区别。 4. **集合框架**:Java集合框架是...
面试中,面试官可能会考察你对Java异常体系结构的理解,以及你在实际开发中如何有效地处理异常。以下是一些关于Java异常处理的关键知识点: 1. **Java异常架构**: - **Throwable**:它是所有错误和异常的基类,...