在讲 try/catch 捕获异常语句之前, 先要讲讲 Exceptions 异常. 每次发生错误时都会抛出异常。
示例:
ArrayIndexOutOfBounds 数组越界错误异常会在索引在数组中不存在时抛出 (e.g: 尝试获得 arr[5], 但是 arr 数组最大只能获得 arr[4]).
ArithmeticError 计算异常会在不合法的数字操作时抛出 (e.g: 42/0, 不能除0)
Java可以抛出很多异常 (比上面的更多).
但是,你怎么能处理异常,当你不确定是否会发生错误。
这就是try / catch语句的目的!如下是try / catch的语法:
try {
//Code here
} catch (ExceptionHere name) {
//可以根据你的经验处理该异常 .
//如果发生 "ExceptionHere" 异常,就会在这处理.
}
在try块后面的代码将尝试运行。如果异常在catch语句的代码中被抛出。
你可以告诉使用这个方法的人,有一个问题,或其他任何东西。
提示:您也可以主动抛出异常 并进行异常捕捉。
在本练习中,你会努力做出有问题的代码。我将创建一个有问题的代码块。你使用try语句包含有问题的代码,然后再在catch中处理。
提示:使用ArrayIndexOutOfBoundsException异常。
public class Main {
public static void main(String[] args) {
int[] arr = new int[10];
System.out.println(arr[9001]);
}
}
public class Main {
public static void main(String[] args) {
int[] arr = new int[10];
try {
System.out.println(arr[9001]);
} catch (ArrayIndexOutOfBoundsException ex) {
System.out.println("Problem with code detected");
}
}
}