链接:https://www.nowcoder.com/questionTerminal/3ded1983c85c4ae197e005bd31777bc7
来源:牛客网

Throwable是所有异常的根,java.lang.Throwable
Error是错误,java.lang.Error
Exception是异常,java.lang.Exception

二、Exception

一般分为Checked异常和Runtime异常,所有RuntimeException类及其子类的实例被称为Runtime异常,不属于该范畴的异常则被称为CheckedException。

①Checked异常

只有java语言提供了Checked异常,Java认为Checked异常都是可以被处理的异常,所以Java程序必须显示处理Checked异常。如果程序没有处理Checked异常,该程序在编译时就会发生错误无法编译。这体现了Java的设计哲学:没有完善错误处理的代码根本没有机会被执行。对Checked异常处理方法有两种

1 当前方法知道如何处理该异常,则用try...catch块来处理该异常。

2 当前方法不知道如何处理,则在定义该方法是声明抛出该异常。

我们比较熟悉的Checked异常有

Java.lang.ClassNotFoundException
Java.lang.NoSuchMetodException

java.io.IOException

②RuntimeException

Runtime如除数是0和数组下标越界等,其产生频繁,处理麻烦,若显示申明或者捕获将会对程序的可读性和运行效率影响很大。所以由系统自动检测并将它们交给缺省的异常处理程序。当然如果你有处理要求也可以显示捕获它们。

我们比较熟悉的RumtimeException类的子类有

Java.lang.ArithmeticException
Java.lang.ArrayStoreExcetpion
Java.lang.ClassCastException
Java.lang.IndexOutOfBoundsException

Java.lang.NullPointerException

三、Error

当程序发生不可控的错误时,通常做法是通知用户并中止程序的执行。与异常不同的是Error及其子类的对象不应被抛出。

Error是throwable的子类,代表编译时间和系统错误,用于指示合理的应用程序不应该试图捕获的严重问题。

Error由Java虚拟机生成并抛出,包括动态链接失败,虚拟机错误等。程序对其不做处理。

最新文章

  1. ActiveMQ集群应用
  2. Swift语言之类型方法
  3. Unity5中的MetaPass
  4. Linux LVM过程问题
  5. popUpWindow 动画无法超出窗体的解决方案
  6. <转载>NPOI Excel 单元格背景颜色对照表
  7. u-boot board_uart_init流程
  8. 2016/9/7 jdbc.properties配置数据库相关
  9. 用于做 Android 屏幕自适应的文章资源
  10. CSDN挑战编程——《数学问题》
  11. 简单的php数据库操作类代码(增,删,改,查)
  12. MySQL入门转载
  13. VS2015 Apache Cordova
  14. vsphere client 虚拟机安装操系统
  15. 2.13.3:获取请求模板(Core Data 应用程序实践指南)
  16. 201521123090《Java程序设计》第10周学习总结
  17. 关于input的一些问题解决方法分享
  18. 利用pytesser识别图形验证码
  19. function Language
  20. form表单的三个属性 action 、mothod 、 enctype。

热门文章

  1. background属性冲突导致的部分浏览器背景图片不显示问题
  2. sdn交换机和普通交换机区别
  3. Android大作业
  4. Python小白绘图 哆唻A梦 turtle真的很强大!
  5. 搭建vue的开发环境
  6. java变量的自动提升与强制转换
  7. Zedboard搭建Linux嵌入式环境
  8. matlab中如何用rand产生相同的随机数
  9. ECDSA host key for 192.168.0.101 has changed and you have requested strict checking.
  10. 计算机原码、补码、反码与java移位运算符(<</>>/>>>)