`
FlyAway2
  • 浏览: 111764 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

java中异常的简单理解

    博客分类:
  • j2se
阅读更多

众所周知,java的顶级异常当然就是Throwable了,Throwable(注意它是Object下面的一个类)下面有Error和Exception。Error,用于指示合理的应用程序不应该试图捕获的严重问题,所以一般java异常处理就不提及这个Error及其下面的类了。下面说说Exception:

 

Exception和Exception下的 RuntimeException 父子关系啊,差别却是相当大,——由于,Java中采用了强制异常捕捉机制,所以有了这个区分:

Exception下的 RuntimeException —不需要处理的(Unchecked exceptions)

非RuntimeException — 需要处理的(Checked exceptions)

 

 

 

 

个人感觉:

创建一个类的时候

然后创建其中方法的时候,其方法签名有throws xxxExceptioin, 那么这个xxxExceptioin就是Checked exceptions,

就是说,别地方(别的类或者本类其他方法中)调用此方法的时候,就【必须】要处理此Exception了,

 

—————— 不是这样的,这个只是java异常机制一部分而已

准确的说:

当方法M抛出,自定义的继承于runtimeexception的异常时,异常上层程序无须捕获,因为按照下面的说法——————————(捕获了除了继续向外抛以外也无能为力)

 

 

 RuntimeException 这个表示系统异常,比较严重。想处理也处理不了,或不好处理

 

 

 

http://www.java3z.com/cwbwebhome/article/article8/806.html

  Java中采用了强制异常捕捉机制,这样一方面提高了程序的可靠性,不过有时候也带来一些麻烦。比如:int i= Integer.parseInt("33");

这个我知道它不可能会抛出异常,但是不捕捉异常的话就过不了编译这关,当然这个代码没有意义的。

Java中所有异常或者错误都继承Throwable:

1.Error:所有都继承自Error,表示致命的错误,比如内存不够,字节码不合法等。

2.Exception:这个属于应用程序级别的异常,这类异常必须捕捉。——————————————————不处理都编译不通过的,如常见的IOException

3.RuntimeException:奇怪RuntimeException继承了Exception,而不是直接继Error, 这个表示系统异常,比较严重。

 

java中异常分两类,

一类是需要处理的(Checked exceptions), ———————— Exception

一类是不需要处理的(Unchecked exceptions)。 ———— RuntimeException

是否需要处理是指:你程序中抛出的异常客户端是否需要处理,是否有能力处理。 

 

    以用户注册来说明,每个用户有一个唯一的注册名,当用户提交注册信息时,从后台检测这个注册名已经存在,违反唯一性,这时候你可以抛出一个checked exception,

    上层程序可以捕获这个异常,并将信息提示给用户,让用户换个注册名;

如果在用户提交注册信息时,正好你的数据库宕掉了,无法对数据进行存取,这时候你就要抛出unchecked exception(例如你自定义的继承于runtimeexception的异常),

这个异常上层程序无须捕获,或者说捕获了除了继续向外抛以外也无能为力。——————————————————  这话说得太对了,感觉就是这样

 

 

 

checked ,unchecked 需要处理,不需要。。。。 容易搞混啊

 

 

NullPointerException 原来是 RuntimeException 的子类啊

 

http://www.189works.com/portal.php?mod=view&aid=47802

 

 

 

 

——菜鸟文章,仅供自己参考,勿怪。

 

分享到:
评论

相关推荐

    Java\课件\JAVA的异常处理机制.ppt

    以下是关于Java异常处理机制的详细说明: 1. **什么是异常处理机制**: Java的异常处理机制是一种用于处理程序运行时错误的机制,它将原本需要程序员手动检查和处理的错误情况,转变为由系统自动检测和报告。当...

    java常见异常处理.ppt

    Java异常处理是编程中至关重要的一个环节,它用于管理和恢复程序在执行过程中可能出现的问题。Java异常分为两大类:错误(Error)和异常(Exception)。错误通常指的是系统级别的问题,如JVM内部错误或资源耗尽,...

    java 异常处理ppt

    Java异常处理是编程中至关重要的一个环节,它允许开发者优雅地处理程序运行时可能出现的错误,确保程序的健壮性和稳定性。Java中的异常处理机制基于一个独特的概念——异常(Exception),这是一种表示程序运行中...

    Java异常分装实例

    在给定的“Java异常分装实例”中,我们可以学习如何创建自定义异常类、抛出和捕获异常,以及如何利用Java的异常层次结构。`exception_test`文件可能包含了一个或多个示例代码,用于演示这些概念。 首先,创建自定义...

    java异常处理

    Java异常处理是编程中至关重要的一个环节,它允许程序员优雅地处理程序运行过程中可能出现的错误情况,确保程序的稳定性和健壮性。异常处理机制在Java中被设计为一种结构化的方法,使得程序在遇到不可预见的问题时,...

    简单的java异常处理

    在这个简单的Java异常处理主题中,我们将深入探讨异常的设定、捕捉和处理过程,以及如何在Applet界面中显示处理结果的相关信息。 1. **异常的设定**:在Java中,当程序执行过程中发生错误或不正常情况时,会抛出一...

    Java异常处理,非常适合Java爱好者

    总之,Java异常处理是编程实践中不可或缺的一部分,Java爱好者和开发者需要深入理解并熟练运用这些概念和技巧,以编写出更加稳定和高效的程序。通过不断地实践和学习,你会发现自己在处理复杂问题时变得更加游刃有余...

    Java的异常处理和IO流

    ### 一、Java异常处理 #### 1.1 什么是异常 异常是指在程序执行过程中发生的任何不期望的或非预期的情况,如除数为零、文件不存在、网络连接失败等,这些情况可能干扰程序的正常执行流程。Java提供了一套强大的...

    java简单实例程序源代码

    "java简单实例程序源代码"这个压缩包包含了一系列章节相关的Java实例源代码,适合初学者和有经验的开发者用来加深对Java语言的理解。以下是这些章节可能涉及的重要知识点的详细解释: 1. **CH11**: 这个章节可能...

    java 异常处理 代码实例

    Java异常处理是编程中至关重要的一个环节,它确保了程序在遇到错误时能够优雅地运行,而不是突然崩溃。本篇文章将深入探讨Java异常处理的概念、机制以及如何通过代码实例进行有效的异常管理。 Java异常处理的核心...

    一些java简单程序

    "一些java简单程序"这个主题,显然聚焦于帮助初学者理解Java编程基础。在这个压缩包中,"study path"可能是一个目录或者文件,它可能包含了学习Java的路径或者一系列逐步进阶的代码示例。 在Java编程中,初学者通常...

    Java基础入门教程 第7章 Java中的异常处理(共26页).ppt

    本章内容将围绕Java异常处理机制展开,包括理解异常概念、使用try-catch-finally语句、多重catch块、嵌套try-catch块、throw和throws关键字,以及编写和使用自定义异常。 首先,异常是程序在运行过程中遇到的非正常...

    JAVA异常出错的教程,非常全面。

    Java异常处理是编程过程中的...总的来说,理解和熟练掌握Java异常处理是成为一名合格的Java开发者的关键技能之一。通过这个全面的教程,你将能够更好地诊断和解决Java程序中的异常问题,提升代码质量与程序的稳定性。

    处理异常java程序实验报告

    ### 处理异常Java程序实验报告知识...通过本次实验,不仅深入理解了Java异常处理的基本原理,还学会了如何自定义异常类以及如何在实际代码中应用这些异常处理逻辑。这对于开发高质量、健壮的Java应用程序具有重要意义。

    java throws声明异常实例二

    例如,以下是一个简单的`ThrowsException_02.java`文件中的示例代码: ```java public class ThrowsException_02 { public static void main(String[] args) { try { readFile("non_existent_file.txt"); } ...

    Java异常处理及输入输出流技术实验报告

    总之,这个实验旨在让学生深入理解Java异常处理的基本原理和输入输出流的使用,同时结合GUI编程,将理论知识应用到实际的文本编辑器项目中。这不仅锻炼了学生的编程能力,也提高了他们解决实际问题的能力。

    java入门很简单原码

    "java入门很简单原码"这个标题暗示了我们将探讨如何轻松地开始学习Java编程,通过理解并实践源代码来掌握基础概念。 在Java入门阶段,首先要了解的是Java的基础语法,包括变量、数据类型、运算符、流程控制语句(如...

    Java异常与错误处理中英文翻译

    ### Java异常与错误处理 #### 引言 Java设计的核心理念之一是“结构不佳的代码将不能运行”,这意味着尽可能在编译阶段捕获错误,确保代码的健壮性与可靠性。然而,即使编译器再强大,也无法检测出所有潜在的运行...

    java试验报告之异常处理程序设计

    总的来说,理解和熟练掌握Java异常处理是编写稳定、可靠和易于维护的代码的关键技能。通过这个实验,学生不仅学习了异常处理的基本原理,还掌握了如何设计和应用异常处理程序,这对于他们的Java编程生涯至关重要。

Global site tag (gtag.js) - Google Analytics