捕获异常


在讲 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语句的代码中被抛出。

你可以告诉使用这个方法的人,有一个问题,或其他任何东西。

提示:您也可以主动抛出异常 并进行异常捕捉。

Exercise

在本练习中,你会努力做出有问题的代码。我将创建一个有问题的代码块。你使用try语句包含有问题的代码,然后再在catch中处理。

提示:使用ArrayIndexOutOfBoundsException异常。