Throws
Khi một ngoại lệ được ném ra, một phương thức có thể chọn xử lý ngoại lệ bằng try-catch hoặc ném ngoại lệ cho phương thức gọi nó (chuyển trách nhiệm). Trong bài này, bạn sẽ thấy cách ném một ngoại lệ thay vì xử lý nó bằng try/catch.
Bài tập này là một phần của khóa học
Kiểu dữ liệu và Exceptions trong Java
Hướng dẫn bài tập
- Thêm một khối try bao quanh mã gọi
getScore(3)và in kết quả. - Thêm một khối catch để xử lý
ArrayIndexOutOfBoundsExceptionphát sinh trong phương thứcgetScore(). - Để
getScore(int)némArrayIndexOutOfBoundsExceptionthay vì try/catch ngoại lệ.
Bài tập tương tác thực hành trực tiếp
Hãy thử làm bài tập này bằng cách hoàn thành đoạn mã mẫu này.
package exceptions;
public class ThrowingExample {
public static int[] scores = { 75, 97, 83 };
public static void main(String[] args) {
// Add a try block
____ {
int lastScore = getScore(3);
System.out.println("Last score:" + lastScore);
// Catch the exception thrown by getScore(int)
} ____ (____ e) {
System.out.println("Tried to access non-existent score");
}
}
// Throw ArrayIndexOutOfBoundsException
public static int getScore(int index) ____ ____ {
return scores[index];
}
}