200+ câu trắc nghiệm Java cơ bản có đáp án - Phần 8

Đọc đoạn code sau: public class Test { public static void aMethod() throws Exception { try { throw new Exception(); } finally { System.out.println("finally"); } } public static void main(Stri

16/30

Đọc đoạn code sau:

public class Test {

public static void aMethod() throws Exception {

try {

throw new Exception();

} finally {

System.out.println("finally");

}

}

public static void main(String args[]) {

try {

aMethod();

} catch (Exception e) {

System.out.println("exception");

}

System.out.println("finished");

}

}

Kết quả là gì?

Chọn một Câu trả lời

finally

exception, finished

finally, exception, finished

Lỗi biên dịch.

Giải thích

Chọn đáp án C

Vì:

+ Lệnh đầu tiên trong hàm main() được gọi thực hiện => gọi phương thức aMethod() => lệnh trong khối finally của aMethod() được thực hiện => in ra chữ finally, đồng thời phương thức này ném ra một ngoại lệ do đó lệnh trong khối catch của hàm main() sẽ được thực hiện => in ra chữ exception và cuối cùng lệnh

System.out.println("finished"); sẽ thực hiện để in ra chữ finished

Kết quả là: finally, exception, finished