JavaScript is required

Phương thức receive() của lớp DatagramSocket có thể gây ra Exception nào?

A.

SocketException

B.

IOException

C.

UnknownHostException

D.
UnknownPortException
Trả lời:

Đáp án đúng: B


Phương thức `receive()` của lớp `DatagramSocket` được sử dụng để nhận các gói dữ liệu đến. Trong quá trình này, một số ngoại lệ có thể xảy ra. * **SocketException:** Ngoại lệ này xảy ra nếu có lỗi liên quan đến socket ở cấp độ thấp, ví dụ như socket bị đóng hoặc có lỗi mạng. * **IOException:** Ngoại lệ này là một lớp cha của nhiều loại ngoại lệ liên quan đến các thao tác I/O (nhập/xuất). `SocketException` là một loại `IOException` đặc biệt. Cụ thể, `IOException` có thể xảy ra nếu có vấn đề trong quá trình đọc dữ liệu từ socket. * **UnknownHostException:** Ngoại lệ này xảy ra khi không thể xác định địa chỉ IP của một host. * **UnknownPortException:** Không có ngoại lệ `UnknownPortException` trong Java. Như vậy, phương thức `receive()` có thể gây ra cả `SocketException` và `IOException`. Tuy nhiên, `IOException` bao quát hơn và có thể xảy ra trong nhiều tình huống khác nhau liên quan đến I/O, còn `SocketException` đặc trưng cho các lỗi liên quan trực tiếp đến socket. Do đó, `IOException` là đáp án chính xác hơn trong trường hợp này vì nó bao gồm cả khả năng `SocketException` xảy ra.

Câu hỏi liên quan