- 浏览: 110264 次
- 性别:
- 来自: 广州
文章分类
众所周知,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 703这是一个经常遇到的考题。面试中可以说90%都会 ... -
java Event机制 、 observer设计模式
2013-09-02 19:07 13584研究了一下java Event机制 和observe ... -
CodeSimplifier
2013-08-27 20:49 1090看开源项目源代 ... -
iBatis的学习
2012-08-16 23:34 1083配置文件主要是 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 1061正则表达式看似简单,要灵活使用却很难,至少我感觉是这样,(可能 ... -
java.math 的学习
2012-08-13 23:48 1062位于java.math下的几个类在处理要求准确数值计算时 ... -
java PrintStream的理解
2012-08-14 21:47 13509PrintStream 其实是FilterOutputStre ... -
java Formatter 的学习
2012-08-13 23:47 2511Formatter位于java.util中,它与java ... -
java安全管理器
2012-08-12 21:14 0SecurityManager http://blog ... -
java.util的API的学习
2012-08-13 23:43 2032接口 Collection Collection ... -
java.lang的API的学习
2012-08-12 21:06 990java.lang i: Appendable 实现 ...
相关推荐
在Java中,异常被分为受检异常和非受检异常。受检异常需要在编译时进行处理,而非受检异常则不需要。常见的异常类包括Exception和RuntimeException。 为了处理异常,我们使用try-catch-finally语句块。在try块中...
理解异常的基础操作以及最简单的捕获处理 理解多异常捕获处理 理解声明抛出异常 掌握自定义异常 掌握异常处理注意事项 第1章 异常 什么是异常?Java代码在运行时期发生的问题就是异常。 在Java中,把异常信息封装成...
(1) 巩固和加深学生对 Java 语言课程的基本知识的理解和掌握; (2) 掌握 Java 语言编程和程序调试的基本技能; (3) 利用 Java 语言进行基本的程序设计; (4) 掌握书写程序设计说明文档的能力; (5) 提高运用 ...
Tcp服务端与客户端的JAVA实例源代码,一个简单的Java TCP服务器端程序,别外还有一个客户端的程序,两者互相配合可以开发出超多的网络程序,这是最基础的部分。 递归遍历矩阵 1个目标文件,简单! 多人聊天室 3...
我相信,在我们做项目的时候,console框中常常出现各种的异常,时间久了,会发现常见的也几个,下面我总结一下常见的异常,供大家参考。 1 java.lang.UnsupportedClassVersionError 从字面上我们可以看出来是...
(网上找的,这个写的比较好,拿出来和大家共享一下)try…catch…finally恐怕是大家再熟悉不过的语句了,而且感觉用起来也是很简单,逻辑上似乎也是很容易理解。不过,我亲自体验的“教训”告诉我,这个东西可不是...
Tcp服务端与客户端的JAVA实例源代码,一个简单的Java TCP服务器端程序,别外还有一个客户端的程序,两者互相配合可以开发出超多的网络程序,这是最基础的部分。 递归遍历矩阵 1个目标文件,简单! 多人聊天室 ...
作者以易于理解的方式深入揭示了java虚拟机的内部工作原理,深入理解这些内容,将对读者更快速地编写更高效的程序大有裨益! 本书共分20章,第1-4章解释了java虚拟机的体系结构,包括java栈、堆、方法区、执行...
第1篇为Java语言基本语法,包括Java语言概述、配置开发环境、Java中的基本数据类型、Java运算符、Java流程控制语句和数组。第2篇为Java语言高级语法,包括类、对象、方法、继承、多态、修饰符、接口、抽象类、内部类...
Tcp服务端与客户端的JAVA实例源代码,一个简单的Java TCP服务器端程序,别外还有一个客户端的程序,两者互相配合可以开发出超多的网络程序,这是最基础的部分。 递归遍历矩阵 1个目标文件,简单! 多人聊天室 3...
第1篇为Java语言基本语法,包括Java语言概述、配置开发环境、Java中的基本数据类型、Java运算符、Java流程控制语句和数组。第2篇为Java语言高级语法,包括类、对象、方法、继承、多态、修饰符、接口、抽象类、内部类...
本文档介绍了Java语言的一些基本特性和常见用法,并附带了一个简单的Java示例代码。 ...另外,建议您在阅读过程中结合实践,尝试编写并运行示例代码,加深对Java语言特性的理解,并提升编程能力。
3.4 小结:基本数据类型—— Java中一切数据和运算的基础 63 3.5 习题 65 第4章 Java中的程序执行流程 67 教学视频:1小时57分钟 4.1 顺序执行 67 4.2 使用if-else让程序懂得判断 68 4.2.1 if语句 68 4.2.2 ...
3.4 小结:基本数据类型—— Java中一切数据和运算的基础 63 3.5 习题 65 第4章 Java中的程序执行流程 67 教学视频:1小时57分钟 4.1 顺序执行 67 4.2 使用if-else让程序懂得判断 68 4.2.1 if语句 68 4.2.2 ...
Java异常处理机制在日常开发中应用频繁,本篇文章主要在基础的使用方法上,更进一步的,如何更加合理的使用异常机制,希望可以对各位朋友能有所帮助。
通过编写简单的面向对象程序,你可以加深对这些概念的理解。 JAVA异常处理与文件操作:在编程过程中,异常处理是非常重要的。你需要学习如何使用JAVA的异常处理机制来处理程序中的错误。此外,你还需要学习如何使用...
Tcp服务端与客户端的JAVA实例源代码,一个简单的Java TCP服务器端程序,别外还有一个客户端的程序,两者互相配合可以开发出超多的网络程序,这是最基础的部分。 递归遍历矩阵 1个目标文件,简单! 多人聊天室 3...
6 异常 编程实现处理异常的语句,理解处理与抛出的区别,学会自定义异常。 7 Java流 用输入输出流实现从一个文本文件中读写简单数据。 8 泛型与容器 编程实现set、list与map的简单应用。 9 图形用户界面 用图形...
Tcp服务端与客户端的JAVA实例源代码,一个简单的Java TCP服务器端程序,别外还有一个客户端的程序,两者互相配合可以开发出超多的网络程序,这是最基础的部分。 递归遍历矩阵 1个目标文件,简单! 多人聊天室 ...