Font size
WorksheetsLẬP TRÌNH HĐT - BÀI 5
Total questions: 29
Worksheet time: 47mins
Lớp cơ sở của tất cả các ngoại lệ trong java là gì?
java.lang.error
java.io.ioexception
java.lang.Throwable
java.lang.runtimeexception
Điều gì sẽ xảy ra trong quá trình chạy (runtime) nếu một ngoại lệ không được bắt và xử lý trong khối try-catch?
Chương trình sẽ bỏ qua lỗi
Chương trình sẽ kết thúc một cách đột ngột
Chương trình sẽ tự động sửa lỗi
Chương trình tiếp tục chạy bình thường
Từ khóa nào được sử dụng để tạo một ngoại lệ tùy chỉnh trong java?
custom
error
throw
create
Cú pháp để ném một ngoại lệ trong java là gì?
throw new exception();
catch new exception();
finally new exception();
try new exception();
Khi một ngoại lệ xảy ra, chương trình sẽ làm gì nếu không có khối catch nào phù hợp?
Tiếp tục thực thi
Kết thúc chương trình
Gọi phương thức finally
Bỏ qua lỗi
Khi nào các lệnh sau finally được gọi trong khối try-catch-finally?
Chỉ khi không có ngoại lệ xảy ra
Không bao giờ được gọi
Luôn luôn, bất kể có ngoại lệ hay không
Chỉ khi có ngoại lệ xảy ra
Xét chương trình java KHÔNG xử lý ngoại lệ như sau:
Trong các nhận xét sau về chương trình, nhận xét nào đúng, nhận xét nào sai?
Chương trình sẽ dừng đột ngột mà không có cách xử lý.
ĐÚNG
SAI
Chương trình khi chạy sẽ gặp ngoại lệ ArithmeticException: / by zezo và dừng đột
ĐÚNG
SAI
Chương trình chạy bình thường, và in ra màn hình kết quả của phép chia
ĐÚNG
SAI
Chương trình sẽ ném ra đối tượng ngoại lệ thuộc lớp ArrayIndexOutOfBoundException, dừng thực thi và báo lỗi
ĐÚNG
SAI
Các phát biểu sau đúng hay sai?
Khi dùng lệnh try-catch-finally, khối try phải đi kèm với ít nhất một khối catch, hoặc một khối finally. Khối try không thể đứng độc lập một mình
ĐÚNG
SAI
Khi dùng lệnh try-catch, có thể khai báo nhiều khối catch, nhưng chỉ một khối try
ĐÚNG
SAI
Lệnh try – catch – finally không phải là lệnh bắt và xử lý ngoại lệ trong Java. Để bắt và xử lý ngoại lệ ta sử dụng từ khóa processException.
ĐÚNG
SAI
Khi dùng lệnh try-catch-finally, bắt buộc phải khai báo đầy đủ cả ba khối try, catch, finally thì chương trình mới không báo lỗi
ĐÚNG
SAI
Đoạn mã sau khi chạy cho ra kết quả gì?
Xuất ra lỗi "Division by zero".
Chương trình sẽ không làm gì cả.
Xuất ra một số khác.
Chương trình sẽ dừng lại với lỗi.
Đoạn mã sau khi chạy cho ra kết quả gì?
Xuất ra lỗi "Index out of bounds".
Xuất ra giá trị 3
Chương trình có lỗi.
Xuất ra giá trị 2.
Đoạn mã sau đây khi chạy cho ra kết quả gì?
Xuất ra "Number format exception".
Xuất ra "10".
Không có gì xảy ra.
Chương trình có lỗi.
Điều gì sẽ xảy ra khi đoạn mã sau được thực thi?
Xuất ra "Number format exception"
Chương trình có lỗi.
Xuất ra "123"
Không có gì xảy ra.
Các phát biểu sau đúng hay sai?
Nếu một phương thức ném ra nhiều loại ngoại lệ, có thể xử lý chúng bằng cách: (1) Dùng nhiều khối catch để bắt từng loại ngoại lệ riêng biệt; hoặc (2) Dùng một khối catch chung để xử lý tất cả các loại ngoại lệ cùng lúc.
ĐÚNG
SAI
Lớp Error trong Java thường dùng để đại diện cho lỗi không đáng kể, và có thể xử lý trong chương trình.
ĐÚNG
SAI
Dùng nhiều catch để xử lý từng lỗi riêng biệt làm làm mã nguồn dễ đọc và dễ debug hơn so với việc dùng Exception chung để bắt mọi ngoại lệ. Dùng Exception chung để bắt mọi ngoại lệ không khuyến khích vì không rõ lỗi gì đã xảy ra.
ĐÚNG
SAI
Mệnh đề catch (ArrayIndexOutOfBoundsException e) dùng để bắt lỗi truy cập phần tử ngoài mảng. Trong khi catch (ArithmeticException e) dùng để bắt lỗi chia cho 0, và catch (Exception e): Bắt tất cả các lỗi còn lại (nếu có)
ĐÚNG
SAI
Cho chương trình Java như sau: Chương trình khi chạy cho ra kết quả gì?
Chương trình không ném ra ngoại lệ nào, chạy và không in ra kết quả gì.
In ra màn hình 2 dòng chữ: "Ngoại lệ xảy ra: Lỗi khi tính toán" và "Nguyên nhân gốc: java.lang.ArithmeticException: / by zero"
Chương trình bị lỗi cú pháp
Chương trình không bị lỗi cú pháp, nhưng khi chạy ném ra ngoại lệ RuntimeException và ngoại lệ này không được xử lý tro
Các phát biểu phân tích cấu trúc try-catch-finally sau đây đúng hay sai?
Nếu khối finally không có trong cấu trúc try-catch, chương trình vẫn sẽ chạy mà không có vấn đề gì
ĐÚNG
SAI
Nếu khối try không có bắt cứ khối catch, hoặc khối finally đi cùng, chương trình sẽ không biên dịch được và báo lỗi cú pháp
ĐÚNG
SAI
Khi một ngoại lệ xảy ra trong khối try nhưng không có khối catch xử lý tương ứng, chương trình sẽ kết thúc đột ngột với một thông báo lỗi
ĐÚNG
SAI
Khi một ngoại lệ xảy ra trong khối try nhưng không có khối catch tương ứng, ngoại lệ sẽ được tự động sửa, và chương trình tiếp tục chạy.
ĐÚNG
SAI
Ngoại lệ trong java là gì?
Một lỗi cú pháp
Một lỗi logic
Một sự kiện bất thường gây gián đoạn luồng thực thi bình thường của chương trình
Một cảnh báo không quan trọng
Từ khóa nào được sử dụng để bắt ngoại lệ trong câu lệnh try ... catch ... finally ... của java?
try
throw
final
catch
Từ khóa nào được dùng chỉ ra rằng một phương thức có thể ném ra một hoặc nhiều loại ngoại lệ?
finally
catch
throws
try
Ngoại lệ nào xảy ra khi một đối tượng bị tham chiếu nhưng không tồn tại?
NullPointerException
ArrayIndexOutofBoundsException
ClassNotFoundException
IOException
Exception và RuntimeException có mối quan hệ như thế nào?
RuntimeException là lớp cơ sở của Exception
Exception và RuntimeException không có mối quan hệ
RuntimeException là lớp con của Exception
Exception là lớp con của RuntimeException
Xét chương trình java CÓ xử lý ngoại lệ như sau:
Trong các phát biểu sau đây về chương trình này, phát biểu nào đúng, phát biểu nào sai?
Chương trình sử dụng try-catch để bắt lỗi chia cho 0. Do đó, khi gặp lỗi này, chương trình hiển thị thông báo và tiếp tục chạy.
ĐÚNG
SAI
Chương trình không ném ra đối tượng ngoại lệ thuộc lớp ArithmeticException nên việc bắt lỗi tương ứng với kiểu ngoại lệ này là sai. Do vậy, khi chạy chương trình sẽ báo lỗi và dừng thực thi.
ĐÚNG
SAI
Chương trình khi chạy sẽ in ra hai dòng thông báo: “Lỗi: không thể chia cho 0” và “Chương trình tiếp tục chạy …”
ĐÚNG
SAI
Chương trình khi chạy sẽ ném ra ngoại lệ thuộc lớp MathemeticException
ĐÚNG
SAI
Điều gì sẽ xảy ra khi chạy đoạn mã sau?
Xuất ra "10".
Chương trình ném ra ngoại lệ ArithmeticException
Xuất ra lỗi "Array index out of bound".
Không có lỗi nào xảy ra.
Đoạn mã sau đây khi chạy cho ra kết quả gì?
Xuất ra "Chạy thành công"
Xuất ra "Array index out of bounds"
Chương trình có lỗi.
Xuất ra "Java"
Điều gì sẽ xảy ra khi đoạn mã sau được thực thi?
Xuất ra giá trị 50
Chương trình có lỗi
Chạy nhưng không xuất ra kết quả gì
Xuất ra "Array index out of bounds".
Điền thông tin thích hợp vào các chỗ trống (______) trong phát biểu sau đây:
Trong Java, ngoại lệ được chia thành hai loại chính là ....(1) ......(hay còn gọi là Compile-time Exception), và .....(2)....... (hay còn gọi là Runtime Exception). Checked exception được kiểm tra tại thời điểm ...........(3).........., trong khi unchecked exception được kiểm tra khi ........(4)........
Biết các thông tin có thể điền bao gồm: checked exception ; unchecked exception ; compile (biên dịch chương trình) ; run (chương trình chạy) ; review code (rà soát code)
Ô trống (1):
(a)
Ô trống (2):
(a)
Ô trống (3):
(a)
Ô trống (4):
(a)
Phương thức nào của lớp Throwable được sử dụng để lấy thông diệp lỗi của ngoại lệ?
getException()
getError()
getMessage()
getDescription()
Cho chương trình Java với mã như sau:
Trong các phát biểu sau về chương trình này, phát biểu nào đúng, phát biểu nào sai?
Chương trình này gặp lỗi, vì Java không cho phép nhiều khối catch đi kèm với một khối try
ĐÚNG
SAI
Chương trình này xử lý nhiều ngoại lệ bằng cách dùng nhiều khối catch
ĐÚNG
SAI
Mệnh đề catch cuối cùng bắt tất cả các lỗi còn lại (nếu có), nhưng không cần thiết phải có.
ĐÚNG
SAI
Khối try của chương trình này chứa mã có thể ném ra 2 ngoại lệ thuộc kiểu (1) lỗi truy cập phần tử ngoài mảng, (2) lỗi chia cho 0.
ĐÚNG
SAI
Điền thông tin thích hợp vào các chỗ trống (____) trong phát biểu sau đây:
IOException thuộc là ví dụ về .......(1)......... Checked Exception yêu cầu phải sử dụng .......(2)..... để bắt và xử lý trực tiếp ngoại lệ ngay trong phương thức, hoặc sử dụng ........(3)..... để đẩy việc xử lý ngoại lệ cho nơi gọi phương thức. Nếu không xử lý Checked Exception, chương trình sẽ .......(4)......., còn nếu xử lý Unchecked Exception, chương trình vẫn biên dịch thành công nhưng có thể lỗi khi chạy.
Biết các thông tin có thể điền bao gồm: checked exception ; unchecked exception ; try-catch ; throws ; báo lỗi cú pháp ; biên dịch thành công
Ô trống (1)
(a)
Ô trống (2)
(a)
Ô trống (3)
(a)
Ô trống (4)
(a)
Đoạn mã sau đây khi chạy cho ra kết quả gì?
Xuất ra "Java".
Chương trình có lỗi.
Không có gì xảy ra.
Xuất ra "Array index out of bounds".
