当我们编写代码时,难免会出现异常(例如,除数为零,数组下标越界等等)。在这些情况下,程序会崩溃,并显示异常信息。为了解决这个问题,Java中提供了 try-catch
语句来处理异常。在本文中,我们将讲解 try-catch
语句的用法和示例。
基本语法
下面是 try-catch
语句的基本语法:
try {
// 希望运行的代码
} catch (Exception e) {
// 捕获异常的代码
}
在 try
代码块中编写我们希望运行的代码,如果这些代码产生了异常,则程序会跳转到与之对应的 catch
代码块,并执行其中的代码。在 catch
代码块中,必须指定异常类型,使用 Exception
可以捕获所有的异常。
如果您有多个 catch
块,则顺序很重要。Java将按顺序执行它们,并在找到匹配的捕获块后停止。
示例1
下面是一个示例:
public static void main(String[] args) {
try {
int a = 5 / 0;
System.out.println("这一行不会被执行");
} catch (ArithmeticException e) {
System.out.println("发生了算术异常: " + e.getMessage());
}
System.out.println("程序结束");
}
在这个示例中,我们试图计算 5/0,这显然是不合法的。如果我们没有用 try-catch
语句来处理异常,程序会崩溃。但是,在使用 try-catch
块之后,程序会在发生异常时跳转到 catch
块,并打印出异常消息。最后 System.out.println("程序结束");
语句总是会被执行。
示例2
也可以指定多个 catch
块来处理不同类型的异常。下面是一个示例:
public static void main(String[] args) {
try {
String str = null;
System.out.println(str.length());
} catch (NullPointerException e) {
System.out.println("发生了空指针异常: " + e.getMessage());
} catch (Exception e) {
System.out.println("发生了异常: " + e.getMessage());
}
System.out.println("程序结束");
}
在这个示例中,我们用 try-catch
块来处理一个空指针异常。我们还添加了一个额外的 General Exception 错误处理器以捕获其他类型的异常,例如数组越界异常等。当我们运行这个代码块时,它会在发生 NullPointerException
时跳转到第一个 catch
块,并输出 发生了空指针异常
,最后总是会执行 System.out.println("程序结束");
。
结论
这就是 try-catch
语句的基本用法,并通过两个示例说明了如何使用。当编写代码时,请注意尽可能使用 try-catch
代码块来处理可能出现的异常,以确保您的程序不会崩溃。