- 浏览: 111764 次
- 性别:
- 来自: 广州
文章分类
众所周知,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
——菜鸟文章,仅供自己参考,勿怪。
发表评论
-
是个帅哥
2013-09-06 16:58 0crm ! oa ! XFire原理 ... -
wew
2013-09-05 18:23 0URLClassLoader java反射 c ... -
we44
2013-09-05 17:35 0hibernate session 到底 ... -
jdk动态代理、cglib
2013-09-04 13:25 0java对代理模式的支持 ---动态代理 上面的 ... -
设计模式
2013-09-04 13:23 0简单工厂(Simple ... -
saf
2013-09-03 15:03 0package thread; public clas ... -
wait、sleep 等 的区别
2013-09-03 13:22 749这是一个经常遇到的考题。面试中可以说90%都会 ... -
java Event机制 、 observer设计模式
2013-09-02 19:07 13672研究了一下java Event机制 和observe ... -
CodeSimplifier
2013-08-27 20:49 1146看开源项目源代 ... -
iBatis的学习
2012-08-16 23:34 1116配置文件主要是 SqlMapConfig.xml o ... -
jsp复习
2012-08-15 23:12 0jsp中4中数据的范围 page、 request、 ... -
Interface和abstract class
2012-08-15 23:04 0Abstract Class类似于 Abstract D ... -
java日期
2012-08-14 23:40 0java日期相关类有: java.util.Da ... -
java正则表达式的学习
2012-08-13 23:45 1093正则表达式看似简单,要灵活使用却很难,至少我感觉是这样,(可能 ... -
java.math 的学习
2012-08-13 23:48 1096位于java.math下的几个类在处理要求准确数值计算时 ... -
java PrintStream的理解
2012-08-14 21:47 13558PrintStream 其实是FilterOutputStre ... -
java Formatter 的学习
2012-08-13 23:47 2546Formatter位于java.util中,它与java ... -
java安全管理器
2012-08-12 21:14 0SecurityManager http://blog ... -
java.util的API的学习
2012-08-13 23:43 2079接口 Collection Collection ... -
java.lang的API的学习
2012-08-12 21:06 1027java.lang i: Appendable 实现 ...
相关推荐
以下是关于Java异常处理机制的详细说明: 1. **什么是异常处理机制**: Java的异常处理机制是一种用于处理程序运行时错误的机制,它将原本需要程序员手动检查和处理的错误情况,转变为由系统自动检测和报告。当...
Java异常处理是编程中至关重要的一个环节,它用于管理和恢复程序在执行过程中可能出现的问题。Java异常分为两大类:错误(Error)和异常(Exception)。错误通常指的是系统级别的问题,如JVM内部错误或资源耗尽,...
Java异常处理是编程中至关重要的一个环节,它允许开发者优雅地处理程序运行时可能出现的错误,确保程序的健壮性和稳定性。Java中的异常处理机制基于一个独特的概念——异常(Exception),这是一种表示程序运行中...
在给定的“Java异常分装实例”中,我们可以学习如何创建自定义异常类、抛出和捕获异常,以及如何利用Java的异常层次结构。`exception_test`文件可能包含了一个或多个示例代码,用于演示这些概念。 首先,创建自定义...
Java异常处理是编程中至关重要的一个环节,它允许程序员优雅地处理程序运行过程中可能出现的错误情况,确保程序的稳定性和健壮性。异常处理机制在Java中被设计为一种结构化的方法,使得程序在遇到不可预见的问题时,...
在这个简单的Java异常处理主题中,我们将深入探讨异常的设定、捕捉和处理过程,以及如何在Applet界面中显示处理结果的相关信息。 1. **异常的设定**:在Java中,当程序执行过程中发生错误或不正常情况时,会抛出一...
总之,Java异常处理是编程实践中不可或缺的一部分,Java爱好者和开发者需要深入理解并熟练运用这些概念和技巧,以编写出更加稳定和高效的程序。通过不断地实践和学习,你会发现自己在处理复杂问题时变得更加游刃有余...
### 一、Java异常处理 #### 1.1 什么是异常 异常是指在程序执行过程中发生的任何不期望的或非预期的情况,如除数为零、文件不存在、网络连接失败等,这些情况可能干扰程序的正常执行流程。Java提供了一套强大的...
"java简单实例程序源代码"这个压缩包包含了一系列章节相关的Java实例源代码,适合初学者和有经验的开发者用来加深对Java语言的理解。以下是这些章节可能涉及的重要知识点的详细解释: 1. **CH11**: 这个章节可能...
Java异常处理是编程中至关重要的一个环节,它确保了程序在遇到错误时能够优雅地运行,而不是突然崩溃。本篇文章将深入探讨Java异常处理的概念、机制以及如何通过代码实例进行有效的异常管理。 Java异常处理的核心...
"一些java简单程序"这个主题,显然聚焦于帮助初学者理解Java编程基础。在这个压缩包中,"study path"可能是一个目录或者文件,它可能包含了学习Java的路径或者一系列逐步进阶的代码示例。 在Java编程中,初学者通常...
本章内容将围绕Java异常处理机制展开,包括理解异常概念、使用try-catch-finally语句、多重catch块、嵌套try-catch块、throw和throws关键字,以及编写和使用自定义异常。 首先,异常是程序在运行过程中遇到的非正常...
Java异常处理是编程过程中的...总的来说,理解和熟练掌握Java异常处理是成为一名合格的Java开发者的关键技能之一。通过这个全面的教程,你将能够更好地诊断和解决Java程序中的异常问题,提升代码质量与程序的稳定性。
### 处理异常Java程序实验报告知识...通过本次实验,不仅深入理解了Java异常处理的基本原理,还学会了如何自定义异常类以及如何在实际代码中应用这些异常处理逻辑。这对于开发高质量、健壮的Java应用程序具有重要意义。
例如,以下是一个简单的`ThrowsException_02.java`文件中的示例代码: ```java public class ThrowsException_02 { public static void main(String[] args) { try { readFile("non_existent_file.txt"); } ...
总之,这个实验旨在让学生深入理解Java异常处理的基本原理和输入输出流的使用,同时结合GUI编程,将理论知识应用到实际的文本编辑器项目中。这不仅锻炼了学生的编程能力,也提高了他们解决实际问题的能力。
"java入门很简单原码"这个标题暗示了我们将探讨如何轻松地开始学习Java编程,通过理解并实践源代码来掌握基础概念。 在Java入门阶段,首先要了解的是Java的基础语法,包括变量、数据类型、运算符、流程控制语句(如...
### Java异常与错误处理 #### 引言 Java设计的核心理念之一是“结构不佳的代码将不能运行”,这意味着尽可能在编译阶段捕获错误,确保代码的健壮性与可靠性。然而,即使编译器再强大,也无法检测出所有潜在的运行...
总的来说,理解和熟练掌握Java异常处理是编写稳定、可靠和易于维护的代码的关键技能。通过这个实验,学生不仅学习了异常处理的基本原理,还掌握了如何设计和应用异常处理程序,这对于他们的Java编程生涯至关重要。