Java标准库内建了一些通用的异常,这些类以 Throwable 为顶层父类。
Throwable又派生出 Error 类和 Exception 类。

错误:Error类以及他的子类的实例,代表了JVM本身的错误。错误不能被程序员通过代码处理,Error很少出现。因此,程序员应该关注Exception为父类的分支下的各种异常类。
异常:Exception以及他的子类,代表程序运行时发送的各种不期望发生的事件。可以被Java异常处理机制使用,是异常处理的核心。

总体上我们根据Javac对异常的处理要求,将异常类分为2类。

非检查异常(unckecked exception):Error 和 RuntimeException 以及他们的子类。javac在编译时,不会提示和发现这样的异常,不要求在程序处理这些异常。所以如果愿意,我们可以编写代码处理(使用try…catch…finally)这样的异常,也可以不处理。对于这些异常,我们应该修正代码,而不是去通过异常处理器处理 。这样的异常发生的原因多半是代码写的有问题。如***除0错误ArithmeticException***,错误的***强制类型转换错误ClassCastException***,数组索引越界ArrayIndexOutOfBoundsException,使用了***空对象NullPointerException***等等。

检查异常(checked exception):除了Error 和 RuntimeException的其它异常。javac强制要求程序员为这样的异常做预备处理工作(使用try…catch…finally或者throws)。在方法中要么用try-catch语句捕获它并处理,要么用throws子句声明抛出它,否则编译不会通过。这样的异常一般是由程序的运行环境导致的。因为程序可能被运行在各种未知的环境下,而程序员无法干预用户如何使用他编写的程序,于是程序员就应该为这样的异常时刻准备着。如SQLException , IOException,ClassNotFoundException 等。

需要明确的是:检查和非检查是对于javac来说的,这样就很好理解和区分了。

转自:https://blog.csdn.net/abysscarry/article/details/80189232

最新文章

  1. CentOS7:安装Puppet
  2. ACM Coin Test
  3. PHP 数组排序方法总结
  4. [Python]网络爬虫(一):抓取网页的含义和URL基本构成
  5. MariaDB忘记root密码
  6. Codeforces 41D Pawn 简单dp
  7. snprintf 返回值陷阱 重新封装
  8. Who's in the Middle
  9. Spring Security 入门(1-6-1)Spring Security - 配置文件解析和访问请求处理
  10. 如何在ASP.NET Core中自定义Azure Storage File Provider
  11. Python开发【字符串格式化篇】
  12. select、poll、epoll的区别
  13. mysql字符串查找(统计客源)
  14. 3ds max学习笔记(三)--视点显示控制
  15. SQLServer Always On FCI 脑裂及可疑状态修复
  16. Ball CodeForces - 12D (线段树)
  17. Vasya And The Mushrooms CodeForces - 1016C (前缀和模拟)
  18. tableView上出现空白的解决办法
  19. Request.Cookies 和 Response.Cookies 的区别
  20. 开源库dlib的安装与编译-CMake

热门文章

  1. 【bzoj3524】【Poi2014】【Couriers】可持久化线段树(主席树)水题
  2. "library not found for - "解决办法
  3. Spark-submit脚本解读
  4. 1· linux命令:查看依赖的共享库 - ldd命令
  5. 理解内存----优化SQL Server内存配置
  6. matlab与C++以.mat文件方式进行数据相互流动
  7. 关于Android导入开源项目:Error:Unable to load class 'org.gradle.api.publication.maven.internal.DefaultMavenFa
  8. centos7 安装LNMP(php7)之 nginx php-fpm yum安装以及配置文件修改
  9. ElasticSearch 结构化搜索全文
  10. HDU4911:Inversion