`
jiangzhenghua
  • 浏览: 600066 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Java运行时异常与普通异常的区别

 
阅读更多

Throwable是所有Java程序中错误处理的父类,有两种资类:ErrorException

   Error:表示由JVM所侦测到的无法预期的错误,由于这是属于JVM层次的严重错误,导致JVM无法继续执行,因此,这是不可捕捉到的,无法采取任何恢复的操作,顶多只能显示错误信息。

Exception:表示可恢复的例外,这是可捕捉到的。

Java提供了两类主要的异常:runtime exceptionchecked exceptionchecked 异常也就是我们经常遇到的IO异常,以及SQL异常都是这种异常。对于这种异常,JAVA编译器强制要求我们必需对出现的这些异常进行catch。所以,面对这种异常不管我们是否愿意,只能自己去写一大堆catch块去处理可能的异常。

    但是另外一种异常:runtime exception,也称运行时异常,我们可以不处理。当出现这样的异常时,总是由虚拟机接管。比如:我们从来没有人去处理过NullPointerException异常,它就是运行时异常,并且这种异常还是最常见的异常之一。

    出现运行时异常后,系统会把异常一直往上层抛,一直遇到处理代码。如果没有处理块,到最上层,如果是多线程就由Thread.run()抛出,如果是单线程就被main()抛出。抛出之后,如果是线程,这个线程也就退出了。如果是主程序抛出的异常,那么这整个程序也就退出了。运行时异常是Exception的子类,也有一般异常的特点,是可以被Catch块处理的。只不过往往我们不对他处理罢了。也就是说,你如果不对运行时异常进行处理,那么出现运行时异常之后,要么是线程中止,要么是主程序终止。

    如果不想终止,则必须扑捉所有的运行时异常,决不让这个处理线程退出。队列里面出现异常数据了,正常的处理应该是把异常数据舍弃,然后记录日志。不应该由于异常数据而影响下面对正常数据的处理。在这个场景这样处理可能是一个比较好的应用,但并不代表在所有的场景你都应该如此。如果在其它场景,遇到了一些错误,如果退出程序比较好,这时你就可以不太理会运行时异常,或者是通过对异常的处理显式的控制程序退出。

异常处理的目标之一就是为了把程序从异常中恢复出来

分享到:
评论

相关推荐

    java异常处理机制示例(java抛出异常、捕获、断言)

    总结来说,Java异常处理机制提供了一种结构化的方法来处理程序运行时的错误,通过try-catch-finally结构捕获和处理异常,同时,利用断言进行内部逻辑验证,以及日志记录来跟踪程序行为。这样的机制增强了代码的健壮...

    10道Java常见异常面试题含答案(很全)

    处理普通异常时,应配合`catch`使用。`finally`块虽然不是必需的,但用于确保关键操作(如资源释放)的执行。 理解并熟练运用这些Java异常处理的知识点对于解决实际编程问题和通过面试至关重要。在编写代码时,合理...

    有效处理JAVA异常三原则

    Error类代表严重的错误,通常由Java运行时系统抛出,程序不应试图捕获这些错误。Exception是程序中可以使用try-catch语句捕获的异常,它又分为两大类:普通异常(Exception)和运行时异常(RuntimeException)。普通...

    基于类文件的Java程序运行时异常分析技术.pdf

    本文对类文件之中java程序运行阶段的异常进行了分析。其可以通过无java源代码文件的条件之下,直接...异常跟普通的警告等有一定的区别。当应用程序发生异常时,会自动进行错误源代码的跟踪并加以提示,进而提升技术人员...

    Java异常处理-throw手动抛出异常对象

    // 调用regist方法,传入负数 } } 情况2 2、手动抛普通的异常 如果需要抛出一个非运行时异常,比如自定义异常,我们需要创建一个继承自Exception的类,然后在适当的地方抛出这个异常。例如:public class ...

    java异常1.pdf

    Java中的异常处理机制是Java程序设计的关键特性之一,它提供了对程序运行时可能出现错误的优雅处理方式。当程序违反了Java的语义规则,比如数组下标越界、空指针引用等,Java虚拟机(JVM)会抛出异常。这些异常...

    java普通计算器

    【标题】"java普通计算器"涉及的Java编程与GUI应用开发 在Java编程领域,创建一个普通计算器是一项基础但重要的练习,它可以帮助开发者熟悉面向对象编程、事件处理以及图形用户界面(GUI)的设计。本项目使用了...

    一些Java面试题库

    异常分为检查异常(Exception)和运行时异常(RuntimeException)。异常类均继承自Throwable。try块中可能抛出异常的代码被包围,catch块处理特定类型的异常,finally块确保无论是否发生异常都会执行的代码。程序员...

    java中常用的异常类型.docx

    `NullPointerException` 是 Java 中最常见的一种运行时异常,通常发生在程序尝试访问一个尚未初始化(即为 `null`)的对象或引用时。例如,当你试图调用一个对象的方法或访问其属性时,如果没有正确初始化该对象,则...

    观看韩顺平学习整理java的笔记到异常

    Java编程语言是面向对象的,其异常处理机制、对象生命周期管理、类的构造与方法、代码块、枚举、注解等概念都是开发者必须掌握的关键知识点。以下是对这些概念的详细解析: 1. **hashCode**: 在Java中,`hashCode()...

    java运行环境jre小解.doc

    本文将深入探讨Java运行环境(JRE)的相关概念,包括JRE与JDK的关系、JRE内部结构解析以及如何在多JRE环境下进行配置等内容。 #### 二、JRE与JDK的关系 1. **定义区分**: - **JRE (Java Runtime Environment)**...

    第8章异常处理与多线程[整理].pdf

    Java异常处理是编程中不可或缺的一部分,它用于处理程序运行时可能出现的错误。异常是程序在执行期间遇到的问题,可能导致程序终止。Java中的异常分为两类:错误(Error)和违例(Exception)。 错误(Error)是JVM...

    Java面试宝典.pdf

    - Java中的异常分为运行时异常和检查性异常,运行时异常不需要在代码中显式处理,而检查性异常需要。 - error是系统错误,而exception是程序运行过程中可以恢复的异常情况。 - Java异常处理机制通过try、catch、...

    CoreJava部分面试题专家总结(jAVA面试必看).doc

    Java 编译器要求方法必须声明抛出可能发生的非运行时异常,但是并不要求必须声明抛出未被捕获的运行时异常。 6. Hibernate 中,不看数据库,不看 XML 文件,不看查询语句,怎么样能知道表结构? 可以看与 XML 文件...

    Java中Error与Exception的区别.doc

    ### Java中Error与Exception的区别 #### 一、概述 在Java编程中,异常处理机制是一项重要的功能,它帮助开发者管理程序执行过程中可能出现的各种错误情况。Java中的异常处理机制主要涉及两大类异常对象:`Error` ...

    java普通工程.zip

    6. **异常处理**:网络爬虫在运行过程中可能会遇到各种问题,如网络连接失败、超时、404错误等,因此需要编写良好的异常处理代码,确保程序的健壮性。 7. **节流与反反爬策略**:为了避免被目标网站封禁,需要设置...

    深入理解java异常处理机制的原理和开发应用

    Java异常处理机制是Java编程中不可或缺的一部分,它用于处理程序运行时出现的错误和异常情况。本文将深入探讨Java异常处理的关键概念、原则和最佳实践。 首先,Java异常处理涉及五个核心关键字:try、catch、...

    张孝祥java就业培训教程(完整版电子书)(普通

    异常处理是Java中的一个重要组成部分,教程会详细解释如何使用try-catch-finally语句来捕获和处理运行时错误。此外,还会讲解文件输入/输出(I/O)操作,这对于读写文件、实现数据持久化至关重要。 容器和集合框架...

    java全集.pdf JAVA全集

    - Error类和Exception类分别表示严重错误和普通异常。 **8.8 一些未检查的异常** - 如`NullPointerException`、`IndexOutOfBoundsException`等。 **8.9 写你自己的异常** - 可以通过继承Exception类或其子类来...

    Java异常处理的最佳实践

    Java异常处理是编程实践中至关重要的一个方面,它确保了程序的稳定性和健壮性。...在编写和维护Java应用时,对异常处理保持关注和优化,将有助于避免潜在的运行时问题,提升程序的可靠性和用户体验。

Global site tag (gtag.js) - Google Analytics