Throwable、Error、Exception、RuntimeException 关系如下类图所示:

Throwable:

Throwable类是java语言中所有错误或者异常的超类。它的两个子类是Error和Exception。

Error:

Error是Throwable的子类,用于指示合理的应用程序不应该试图捕获的严重问题。

一般都是不可控制的(unchecked),用来表示虚拟机内部错误或者底层资源的错误。

Exception:

可以是被控制的(checked)或者不可控制的(unchecked),一般是有认为导致的错误,应该在程序级别处理掉。

Exception类和所有子类(不包括RuntimeException类及其子类)都是检查异常(checked exceptions),它们需要在方法或构造方法的throws子句中声明,可以传递到外部。

RuntimeException:

RuntimeException是那些可能在 Java 虚拟机正常运行期间抛出的异常的超类。可能在执行方法期间抛出但未被捕获的RuntimeException的任何子类都无需在 throws子句中进行声明。RuntimeException是Exception的子类,是不可控制的(unchecked)。

常见的几种RuntimeException:

NullPointerException(空指针异常)

IndexOutOfBoundsException(下标越界异常)

IllegalArgumentException - 传递非法参数异常。

ClassCastException - 类型强制转换异常。

NumberFormatException (String转换为指定的数字类型异常)

ArithmeticException -(算术运算异常 如除数为0)

ArrayStoreException - (向数组中存放与声明类型不兼容对象异常)

SecurityException -(安全异常)

UnsupportedOperationException - 不支持的操作异常

最新文章

  1. Hybrid APP混合开发的一些经验和总结
  2. Home not found. Define system property "openfireHome" or create and add the openfire_init.xml file to the classpath
  3. 【分享】通过Excel生成批量SQL语句,处理大量数据的好办法
  4. ajax form表单回显
  5. spring--注入类型--构造方法(不常用)
  6. iOS tableview 优化总结
  7. java大数--总结
  8. mongoDB操作命令及mongoDB的helper
  9. .Net类型与JSON的映射关系
  10. Linux 网络编程: gethostbyname( ), getservbyname( )
  11. 完全合并C++面试题
  12. 重新想象 Windows 8 Store Apps (11) - 控件之 ListView 和 GridView
  13. usb转串口驱动时会出现“文件的哈希值不在指定的目录”这样的提示
  14. AspectCore.Extension.Reflection : .NET Core反射扩展库
  15. 【转】Java学习---算法那些事
  16. 如何用命令行执行loadrunner的脚本
  17. 调用spark API,监控任务的进度
  18. China cuts bank reserves by $100m to cushion US tariffs
  19. Linux下的Jenkins+Tomcat+Maven+Git+Shell环境的搭建使用(jenkins自动化部署)
  20. 使用Scala编写Spark程序求基站下移动用户停留时长TopN

热门文章

  1. Android 之 悬浮窗口
  2. wex5 sqllite本地数据库的运用
  3. 动态class,style,src绑定写法 vue
  4. 在docker容器中为elasticsearch配置跨域访问
  5. redis删除主从节点
  6. java冒泡排序小实例
  7. 第一节,搭建openwrt开发环境
  8. Windows如何下载nginx软件包到linux系统虚拟机上
  9. webpack命令:Module build failed(from ./node_modules/babel-loader/lib/index.js)/405/错误解决
  10. redis开发使用规范