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

Java中异常处理机制的简单原理和应用,并说明Error与Exception有什么区别?

 
阅读更多

java程序违反java的语义规则时,java虚拟机就会将发生的错误表示为一个异常

违反语义规则包括两种情况:

一种是java类库内置的语义检查 比如 数组越界 引发IndexOutOfBoundsException;访问NULL的对象时会引发NullPointerException

另外一种情况就是JAVA允许程序员扩展这种语法检查,程序员可以自定义异常,并自由选择在何时用throw关键字引发异常,所有的异常都是java.lang.Throwable的子类

 

Error 和 Exception:

java中的Error和Exception都是来自Throwable这个class的,是他的subclass

Error:是系统中的错误,程序员不能改变处理的这是在程序编译的时候出现的错误,只有通过修改程序才能修正Error

Exception:是在程序运行的时候捕捉到的错误,他是可以处理的异常

Exception:它也分两种:RuntimeException(是经常出现的错误可以不catch)和其他Exception(是必须要catch的,这样程序才能继续,像某个方法里面有throw IoException).

一、

* Runtime exceptions:
在定义方法时不需要声明会抛出runtime exception; 在调用这个方法时不需要捕获这个runtime exception; runtime exception是从java.lang.RuntimeException或java.lang.Error类衍生出来的。
* Checked exceptions:
定 义方法时必须声明所有可能会抛出的checked exception; 在调用这个方法时,必须捕获它的checked exception,不然就得把它的exception传递下去; checked exception是从java.lang.Exception类衍生出来的。
二、逻辑上
从逻辑的角度来说,checked exceptions和runtime exception是有不同的使用目的的。checked exception用来指示一种调用方能够直接处理的异常情况。而runtime exception则用来指示一种调用方本身无法处理或恢复的程序错误。

checked exception迫使你捕获它并处理这种异常情况。以java.net.URL类的构建器(constructor)为例,它的每一个构建器都会抛出 MalformedURLException。MalformedURLException就是一种checked exception。设想一下,你有一个简单的程序,用来提示用户输入一个URL,然后通过这个URL去下载一个网页。如果用户输入的URL有错误,构建 器就会抛出一个exception。既然这个exception是checked exception,你的程序就可以捕获它并正确处理:比如说提示用户重新输入。

分享到:
评论

相关推荐

    Java异常处理机制及应用.pdf

    Java 异常处理机制是 Java 语言的一大特点,它能够捕获和处理程序运行过程中的非正常情况的事件,如除零溢出、数组越界、内存溢出等。传统的编程语言没有异常处理机制,错误处理完全靠程序员来完成,而程序员一般以...

    Java中的异常和处理机制实例详解

    Java中的异常和处理机制实例详解 Java中的异常和处理机制是Java语言中的一种重要机制,用于处理程序在运行时出现的异常情况。在Java中,异常是一种不被期望的事件,它会阻止程序按照预期正常执行。Java提供了异常...

    深入理解java异常处理机制

    ### 深入理解Java异常处理机制 #### 引言 异常处理机制是任何现代编程语言不可或缺的一部分,尤其是在像Java这样的面向对象的语言中更是如此。Java的异常处理机制旨在帮助开发者编写更健壮、更易于维护的代码。...

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

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

    java实验报告4-异常处理

    Java异常处理是编程中至关重要的一个环节,它确保了程序在遇到错误时能够优雅地运行,而不是突然崩溃。本实验报告“java实验报告4-异常处理”旨在帮助初学者掌握Java中的异常处理机制,以及如何利用log4j进行日志...

    Java异常处理细节分析

    `Error`类通常表示系统级错误或资源耗尽的情况,如`OutOfMemoryError`,这类异常一般不建议程序员捕获和处理,因为它们通常是无法预料且难以恢复的。而`Exception`类则代表了一般性的异常情况,可以被捕获并处理。`...

    java-异常处理

    Java异常处理的核心在于使用异常类来表示各种错误情况,并通过特定的关键字来实现异常的捕获和处理。基本流程包括: 1. **定义异常**:Java中异常通常继承自`Throwable`类,其中包括两大类:`Error`和`Exception`。...

    Java异常处理的方法和几个例子源码.rar

    Java异常处理是编程中至关重要的一个环节,它用于在程序...通过阅读和分析这些代码,你可以更直观地理解Java异常处理的工作原理,并学会如何在实际项目中应用。记得在实践中不断调试和测试,以加深对异常处理的理解。

    Java中的异常和处理详解共21页.pdf.zip

    Java异常处理是编程过程中不可或缺的一部分,它涉及到程序在遇到错误或非正常情况时的响应机制。在Java中,异常处理提供了优雅的方式,使得程序能够继续运行,而不是因为一个错误而完全崩溃。这篇详解共21页的PDF...

    java 异常案例

    通过这个简单的Java异常案例,我们可以看到异常处理的基本原理和应用。异常处理不仅能够使程序更加健壮,还能够在出现问题时提供有用的调试信息。在实际开发过程中,合理地使用异常处理机制对于提高软件的质量和维护...

    struts手动异常处理

    5. **使用`ActionError`和`FieldError`**:Struts提供了一种将异常信息存储在`ActionContext`中的机制,通过`ActionError`和`FieldError`对象,可以将错误消息关联到特定的Action或者表单字段,方便在视图层显示。...

    java面试宝典

    62、error和exception有什么区别 16 63、ArrayList和Vector的区别 16 64、Collection 和 Collections的区别 17 65、Set里的元素是不能重复的,那么用什么方法来区分重复与否呢? 是用==还是equals()? 它们有何区别 17...

    计算机中java 异常

    ### 计算机中Java异常详解 在计算机编程领域,特别是Java语言中,**异常**是一种常见的编程概念,用于处理程序执行过程中可能出现的各种错误或不正常情况。理解Java中的异常处理机制对于编写健壮、可靠的代码至关...

    Java问题宝典2012版

    43、Java中的异常处理机制的简单原理和应用。 30 44、请写出你最常见到的5个runtime exception。 31 45、JAVA语言如何进行异常处理,关键字:throws,throw,try,catch,finally分别代表什么意义?在try块中可以抛出...

    java 面试常问的问题 如何回答

    一. Java基础部分 7 1、一个".java"源文件中是否可以包括多个类(不是内部类)?有什么限制? 7 2、Java有没有goto? 7 3、说说&和&&的区别。...43、Java中的异常处理机制的简单原理和应用。 28 等等........

    Spring Cloud Gateway的全局异常处理

    为了实现全局异常处理并返回JSON格式的数据,我们需要创建一个自定义的`JsonExceptionHandler`类,继承自`DefaultErrorWebExceptionHandler`,然后重写关键方法来实现定制化处理逻辑。 #### 三、自定义全局异常处理...

    Java面试宝典-经典

    43、Java中的异常处理机制的简单原理和应用。 28 44、请写出你最常见到的5个runtime exception。 28 45、JAVA语言如何进行异常处理,关键字:throws,throw,try,catch,finally分别代表什么意义?在try块中可以抛出...

    java面试题

    12. error和exception有什么区别? 11 13. 同步和异步有何异同,在什么情况下分别使用他们?举例说明。 11 14. 简述synchronized和java.util.concurrent.locks.Lock的异同 ? 11 15. 当一个线程进入一个对象的一个...

    Java throw Exception实现异常转换

    Java throw Exception实现异常转换是Java语言中的一种异常处理机制,它允许开发者将 checked exception 转换为 unchecked exception,从而使得异常处理变得更加灵活和便捷。本文将详细介绍Java throw Exception实现...

Global site tag (gtag.js) - Google Analytics