Where is an exception generated?
Trả lời:
Đáp án đúng: B
Câu hỏi này kiểm tra kiến thức về cơ chế xử lý ngoại lệ trong lập trình, đặc biệt là nơi ngoại lệ được tạo ra (generated).
* **Phương án A: In the catch block** - Sai. Khối `catch` được sử dụng để *xử lý* ngoại lệ đã được ném ra, chứ không phải là nơi ngoại lệ được tạo ra.
* **Phương án B: In the throw clause** - Đúng. Ngoại lệ được tạo ra (generated) chính xác tại vị trí câu lệnh `throw` được thực thi. Câu lệnh `throw` tạo ra một đối tượng ngoại lệ và "ném" nó đi, để các khối `catch` thích hợp có thể bắt và xử lý.
* **Phương án C: In the constructor of a class** - Sai. Mặc dù một constructor *có thể* ném ra một ngoại lệ nếu có lỗi xảy ra trong quá trình khởi tạo đối tượng, nhưng không phải *tất cả* ngoại lệ đều được tạo ra trong constructor. Constructor chỉ là một trong nhiều nơi ngoại lệ có thể phát sinh.
* **Phương án D: Only when memory allocation fails** - Sai. Ngoại lệ có thể xảy ra do nhiều nguyên nhân khác nhau, không chỉ giới hạn ở việc cấp phát bộ nhớ thất bại. Ví dụ: truy cập vào một phần tử không hợp lệ của mảng, chia cho 0, mở một tập tin không tồn tại, v.v.
Vậy, đáp án đúng là B, vì ngoại lệ được tạo ra (generated) tại câu lệnh `throw`.
Câu hỏi liên quan

FORM.08: Bộ 130+ Biểu Mẫu Thống Kê Trong Doanh Nghiệp

FORM.07: Bộ 125+ Biểu Mẫu Báo Cáo Trong Doanh Nghiệp

FORM.06: Bộ 320+ Biểu Mẫu Hành Chính Thông Dụng

FORM.05: Bộ 330+ Biểu Mẫu Thuế - Kê Khai Thuế Mới Nhất

FORM.04: Bộ 240+ Biểu Mẫu Chứng Từ Kế Toán Thông Dụng
