http://blog.csdn.net/yuefengyuan/article/details/6204317 一、

Java 中定义了两类异常:

1) Checked exception: 这类异常都是Exception的子类 。异常的向上抛出机制进行处理,如果子类可能产生A异常,那么在父类中也必须throws A异常。可能导致的问题:代码效率低,耦合度过高。C#中就没有使用这种异常机制。

2) Unchecked exception: 这类异常都是RuntimeException的子类,虽然RuntimeException同样也是Exception的子类,但是它们是特殊的,它们不能通过client code来试图解决,所以称为Unchecked exception 。

另外:

error 表示恢复不是不可能但很困难的情况下的一种严重问题。比如说内存溢出。不可能指望程序能处理这样的情况。

exception 表示一种设计或实现问题。也就是说,它表示如果程序运行正常,从不会发生的情况

二、

checked exception是需要强制catch的异常,你在调用这个方法的时候,你如果不catch这个异常,那么编译器就会报错,比如说我们读写文件的时候会catch IOException,执行数据库操作会有SQLException等 
UnChecked Exception是RuntimeException,也就是说运行时的异常,这种异常不是必须需要catch的,你是无法预料的,比如说你在调用一个list.szie()的时候,如果这个list为null,那么就会报NUllPointerException,而这个异常就是RuntimeException,也就是UnChecked Exception

三、

Error和RuntimeException及其子类是unchecked exception.其他exception是checked exception. 
checked exception可以出现在throws子句中,unchecked exception不可以。 
Error是java自己的错误或者诸如内存耗尽等严重错误,是不可抗拒的,显然没有捕捉的必要,而且也没有办法捕捉。 
RuntimeException是你的程序有逻辑错误,是程序员应该积极避免其出现的异常。比如NullPointerException等,完全是程序员马虎出的错。当遇到这种错误时,java将这个错误自动捕捉到,比如显示到concole里,然后继续运行。而checked exception如果不捕捉则会导致程序终止。

四、error和excption的区别

Error的继承关系:

java.lang.Object

--java.lang.Throwable

--java.lang.Error

Exception的继承关系:

java.lang.Object

--java.lang.Throwable

--java.lang.Exception

二者的不同之处:

Exception:

1.可以是可被控制(checked) 或不可控制的(unchecked)

2.表示一个由程序员导致的错误

3.应该在应用程序级被处理

Error:

1.总是不可控制的(unchecked)

2.经常用来用于表示系统错误或低层资源的错误

3.如何可能的话,应该在系统级被捕捉

checked exception和unchecked exception区别相关推荐

  1. Checked exception及Unchecked exception对比

    一.异常分类 从异常处理机制的角度可以分为两类,Unchecked Exceptions和Checked Exceptions.Check即编译器检查程序是否已经抛出或处理了可能的异常.Uncheck ...

  2. Java异常:选择Checked Exception还是Unchecked Exception?

    Java包含两种异常:checked异常和unchecked异常.C#只有unchecked异常.checked和unchecked异常之间的区别是: Checked异常必须被显式地捕获或者传递,如B ...

  3. [转载] Java异常:选择Checked Exception还是Unchecked Exception?

    参考链接: Java中的已检查与未检查异常| checked或unchecked异常 Java包含两种异常:checked异常和unchecked异常.C#只有unchecked异常.checked和 ...

  4. 通俗理解checked Exception和unchecked Exception

    首先放一张Java异常层次结构图: 错误(Error)和异常(Exception)是不同的. Error(错误):是程序无法处理的错误,表示运行应用程序中较严重问题.大多数错误与代码编写者执行的操作无 ...

  5. 检查型异常(Checked Exception)与非检查型异常(Unchecked Exception)

    检查型异常(Checked Exception)与非检查型异常(Unchecked Exception) 参考文章: (1)检查型异常(Checked Exception)与非检查型异常(Unchec ...

  6. Checked异常和Unchecked异常

    1,异常分类 从异常处理机制的角度可以分为两类,Unchecked Exceptions和Checked Exceptions.Unchecked Exceptions指的是被程序员check的异常, ...

  7. java 判断exception类型_Checked Exception | Java语言设计者的失误?

    背景 最近公司一直在执行sonar扫描代码bug.漏洞及异味,但发现了很对异常处理的问题,大多数是对Java异常处理不正确导致的,那本文就谈谈Java的异常是什么?设计者的初衷又是什么? Except ...

  8. 记一次Jenkins 打包异常 ERROR: Exception when publishing, exception message [Failure]

    记一次Jenkins 打包异常 ERROR: Exception when publishing, exception message [Failure] 参考文章: (1)记一次Jenkins 打包 ...

  9. Jenkins发版常见问题:ERROR: Exception when publishing, exception message [Failure]

    Jenkins 报错日志: ERROR: Exception when publishing, exception message [Failure] Build step 'Send build a ...

最新文章

  1. 想成为软件架构师,你的举止够优雅吗?
  2. 怎么在大学当院系负责人呢?一个case study
  3. Servlet3.0新特性WebFilter(Annotation Filter)详解
  4. 28-高级特性之作用域(2)
  5. 【实战 Ids4】║ 给授权服务器加个锁——HTTPS配置
  6. Java线程死锁–案例研究
  7. MyCat分布式数据库集群架构工作笔记0004---Mycat的实现原理
  8. c#生成静态库_在 Blazor WebAssembly 静态网站中部署ML.NET机器学习模型
  9. HTML5方式使用freeswitch——VERTO模块
  10. 内核获取网络设备的网桥接口
  11. APP与小程序各自优劣势
  12. Intel SGX远程认证【SGX手册截图】
  13. MySQL 8.0版本连接报错:Could not create connection to database server.
  14. i5处理器学计算机怎么设置,处理器怎么超频 酷睿i3/i5/i7系列CPU超频详细教程 (全文)...
  15. 【THUSC2016】蒟蒻的酱油记
  16. 用Python做一只真·多足机器人,钢铁蜈蚣能弯曲还能蠕动
  17. 【懒懒的Python学习笔记四】
  18. 从零开始学前端 - 16. JS对象Object介绍及常用方法
  19. win7系统IE11管理加载项里面没有Shockwave Flash Object的解决方法
  20. 数据结构(c语言版 第二版 严蔚敏)第一张绪论笔记

热门文章

  1. [原创]Scala学习:编写Scala脚本
  2. WebApp 开发中常用的代码片段
  3. 由HEAP Corruption DETECTED查到的
  4. 诗与远方:无题(六十六)- 清明时节雨纷下
  5. DOM(三)——创建删除元素及优化(文档片段)
  6. 栈的应用——表达式求值(双栈)
  7. 矩阵论思维导图_全新思维导图
  8. arc073F Many Moves
  9. gvim最简化设置,去掉工具栏和菜单栏
  10. 《从缺陷中学习C/C++》导读