Throwable 类是 Java 语言中所有错误或异常的超类。当对象是此类(或其子类之一)的实例时,才能通过 Java 虚拟机或者 Java throw 语句抛出。
Throwable
含义:异常的英文单词是exception,字面翻译就是“意外、例外”的意思,也就是非正常情况。事实上,异常本质上是程序上的错误,包括程序逻辑错误和系统错误。(开发过程中的语法错误和逻辑错误不是异常)
Error:是Throwable的子类,用于指示合理的应用程序不应该试图捕获的严重问题。是无法处理的异常,比如OutOfMemoryError,一般发生这种异常,JVM会选择终止程序。因此我们编写程序时不需要关心这类异常。
Exception 异常主要分为两类
IOException(I/O 异常),其中 IOException 及其子类异常又被称作「检查异常」
RuntimeException(运行时异常),RuntimeException 被称作「非检查异常」
【注】检查异常指:编译器在编译期间要求必须得到处理的那些异常,你必须在编译期处理了。最具代表的检查性异常是用户错误或问题引起的异常,这是程序员无法预见的。例如要打开一个不存在文件时,一个异常就发生了,这些异常在编译时不能被简单地忽略。
异常机制
异常的处理方式:异常三种处理方式
try...catch关键字:使用 try 和 catch 关键字可以捕获异常。try/catch 代码块放在异常可能发生的地方。真正的将异常给处理掉了
try-Catch
Catch 语句包含要捕获异常类型的声明。当保护代码块中发生一个异常时,try 后面的 catch 块就会被检查。如果发生的异常包含在 catch 块中,异常会被传递到该 catch 块,这和传递一个参数到方法是一样。