跳至主要內容

Java

LincZero大约 1 分钟

Java

目录

异常类

API: java.lang.Throwable 1.0,将Throwable对象和栈的轨迹输出到标准错误流

捕获异常

当程序运行过程中发生错误时,就会“抛出异常”。

抛出异常比终止程序要灵活得多,这是因为可以提供一个 “捕获” 异常的处理器(handler)对异常情况进行处理

如果没有提供处理器,程序就会终止,并在控制台上打印出一条信息,其中给出了异常的类型。

异常有两种类型

  • 已检查异常
    • 对于已检查异常,编译器将会检查是否提供了处理器
  • 未检查异常
    • 然而,有很多常见的异常,都属于未检查异常 例如,访问null引用。编译器不会查看是否为这些错误提供了处理器。 毕竟,应该精心地编写代码来避免这些错误的发生,而不要将精力花在编写异常处理器上。

将可能抛出已检查异常的一个或多个方法调用代码放在try块中,然后在catch子句中提供处理器代码

try
{
    statement that might thorw exceptions
}
catch (Exception e)
{
    handler action
}

// 例如
try
{
    String name = ...; // 获取类名字符串
    Class cl = Class.forName(name); // 有可能会抛出异常
    // do somthing with cl
}
catch (Exception e)
{
    e.printStrackTrace(); // 打印堆栈轨迹
}