`
FlyAway2
  • 浏览: 110264 次
  • 性别: 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异常处理.md

    在Java中,异常被分为受检异常和非受检异常。受检异常需要在编译时进行处理,而非受检异常则不需要。常见的异常类包括Exception和RuntimeException。 为了处理异常,我们使用try-catch-finally语句块。在try块中...

    异常底层详解

    理解异常的基础操作以及最简单的捕获处理 理解多异常捕获处理 理解声明抛出异常 掌握自定义异常 掌握异常处理注意事项 第1章 异常 什么是异常?Java代码在运行时期发生的问题就是异常。 在Java中,把异常信息封装成...

    java简单计算器开发GUI图形化界面设计与实现(项目源码+课程设计报告)

    (1) 巩固和加深学生对 Java 语言课程的基本知识的理解和掌握; (2) 掌握 Java 语言编程和程序调试的基本技能; (3) 利用 Java 语言进行基本的程序设计; (4) 掌握书写程序设计说明文档的能力; (5) 提高运用 ...

    java源码包---java 源码 大量 实例

     Tcp服务端与客户端的JAVA实例源代码,一个简单的Java TCP服务器端程序,别外还有一个客户端的程序,两者互相配合可以开发出超多的网络程序,这是最基础的部分。 递归遍历矩阵 1个目标文件,简单! 多人聊天室 3...

    java项目开发中常见异常

    我相信,在我们做项目的时候,console框中常常出现各种的异常,时间久了,会发现常见的也几个,下面我总结一下常见的异常,供大家参考。  1 java.lang.UnsupportedClassVersionError  从字面上我们可以看出来是...

    关于Java异常处理机制的深入理解.doc

    (网上找的,这个写的比较好,拿出来和大家共享一下)try…catch…finally恐怕是大家再熟悉不过的语句了,而且感觉用起来也是很简单,逻辑上似乎也是很容易理解。不过,我亲自体验的“教训”告诉我,这个东西可不是...

    java源码包2

     Tcp服务端与客户端的JAVA实例源代码,一个简单的Java TCP服务器端程序,别外还有一个客户端的程序,两者互相配合可以开发出超多的网络程序,这是最基础的部分。 递归遍历矩阵 1个目标文件,简单! 多人聊天室 ...

    深入Java虚拟机(原书第2版).pdf【附光盘内容】

     作者以易于理解的方式深入揭示了java虚拟机的内部工作原理,深入理解这些内容,将对读者更快速地编写更高效的程序大有裨益!  本书共分20章,第1-4章解释了java虚拟机的体系结构,包括java栈、堆、方法区、执行...

    Java入门1·2·3:一个老鸟的Java学习心得.rar 超清

    第1篇为Java语言基本语法,包括Java语言概述、配置开发环境、Java中的基本数据类型、Java运算符、Java流程控制语句和数组。第2篇为Java语言高级语法,包括类、对象、方法、继承、多态、修饰符、接口、抽象类、内部类...

    JAVA上百实例源码以及开源项目

     Tcp服务端与客户端的JAVA实例源代码,一个简单的Java TCP服务器端程序,别外还有一个客户端的程序,两者互相配合可以开发出超多的网络程序,这是最基础的部分。 递归遍历矩阵 1个目标文件,简单! 多人聊天室 3...

    Java入门1·2·3——一个老鸟的Java学习心得 高清pdf

    第1篇为Java语言基本语法,包括Java语言概述、配置开发环境、Java中的基本数据类型、Java运算符、Java流程控制语句和数组。第2篇为Java语言高级语法,包括类、对象、方法、继承、多态、修饰符、接口、抽象类、内部类...

    Java零基础 - Java语言特性简介.md

    本文档介绍了Java语言的一些基本特性和常见用法,并附带了一个简单的Java示例代码。 ...另外,建议您在阅读过程中结合实践,尝试编写并运行示例代码,加深对Java语言特性的理解,并提升编程能力。

    JAVA入门1.2.3:一个老鸟的JAVA学习心得 PART1(共3个)

    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入门1·2·3:一个老鸟的Java学习心得.PART3(共3个)

    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的教程.txt

    通过编写简单的面向对象程序,你可以加深对这些概念的理解。 JAVA异常处理与文件操作:在编程过程中,异常处理是非常重要的。你需要学习如何使用JAVA的异常处理机制来处理程序中的错误。此外,你还需要学习如何使用...

    JAVA上百实例源码以及开源项目源代码

     Tcp服务端与客户端的JAVA实例源代码,一个简单的Java TCP服务器端程序,别外还有一个客户端的程序,两者互相配合可以开发出超多的网络程序,这是最基础的部分。 递归遍历矩阵 1个目标文件,简单! 多人聊天室 3...

    Java语言程序设计实验指导书

    6 异常 编程实现处理异常的语句,理解处理与抛出的区别,学会自定义异常。 7 Java流 用输入输出流实现从一个文本文件中读写简单数据。 8 泛型与容器 编程实现set、list与map的简单应用。 9 图形用户界面 用图形...

    java源码包4

     Tcp服务端与客户端的JAVA实例源代码,一个简单的Java TCP服务器端程序,别外还有一个客户端的程序,两者互相配合可以开发出超多的网络程序,这是最基础的部分。 递归遍历矩阵 1个目标文件,简单! 多人聊天室 ...

Global site tag (gtag.js) - Google Analytics