Java: Câu hỏi và bài tập phần Exception
Giải phóng thời gian, khai phóng năng lực
Câu hỏi
- Đoạn mã sau đây có hợp lệ không?
try { } finally { }
- Loại ngoại lệ nào có thể được bắt bởi trình xử lý sau?
catch (Exception e) {
}
Có điều gì sai nếu sử dụng trình xử lý ngoại lệ này? - Có gì sai với trình xử lý ngoại lệ được viết như sau? Đoạn mã có được biên dịch không?
try { } catch (Exception e) { } catch (ArithmeticException a) { } - Hãy tìm sự phù hợp cho mỗi các tình huống sau:
int[] A;
A[0] = 0;- JVM bắt đầu chạy chương trình, nhưng JVM không thể tìm thấy các lớp nền tảng Java (các lớp nền tảng Java được nén trong file
classes.zip
hoặcrt.jar
). - Một chương trình đang đọc một luồng và gặp dấu kết thúc luồng.
- Trước khi đóng luồng và sau khi gặp dấu kết thúc luồng thì một chương trình cố gắng đọc lại luồng.
- __lỗi
- __ngoại lệ checked
- __lỗi biên dịch
- __không có ngoại lệ
Bài tập
- Thêm một phương thức có tên
readList
vào ví dụ
. Phương thức này có nhiệm vụ đọc các giá trị kiểuListOfNumbers
int
từ một tập tin, in ra từng giá trị, và thêm chúng vào cuối của vector. Bạn cần bắt tất cả các lỗi liên quan. Bạn cũng cần tạo một file để chứa các số để đọc. - Thay đổi phương thức
cat
dưới đây cho hoàn thiện.public static void cat(File file) {
RandomAccessFile input = null;
String line = null;try {
input = new RandomAccessFile(file, "r");
while ((line = input.readLine()) != null) {
System.out.println(line);
}
return;
} finally {
if (input != null) {
input.close();
}
}
}
Xin xem phần solution tham khảo tại ĐÂY.
Giải phóng thời gian, khai phóng năng lực