JavaScript is required

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

A.

IOException

B.

SocketException

C.

UnknownHostException

D.

UnknownPortException

Trả lời:

Đáp án đúng: A


Phương thức send() của lớp DatagramSocket được sử dụng để gửi gói dữ liệu (datagram) qua mạng. Trong quá trình gửi, có thể xảy ra lỗi liên quan đến quá trình nhập/xuất (I/O), ví dụ như lỗi mạng, lỗi không tìm thấy host, hoặc lỗi socket. Do đó:

  • IOException: Xảy ra khi có lỗi I/O trong quá trình gửi.
  • SocketException: Xảy ra khi có vấn đề với socket, ví dụ như socket bị đóng hoặc không hợp lệ.
  • UnknownHostException: Xảy ra khi không thể tìm thấy host đích (ví dụ, tên host không tồn tại).

Tuy nhiên, UnknownPortException không phải là một ngoại lệ chuẩn trong Java. Trong các trường hợp có lỗi liên quan đến port, thường thì IOException hoặc SocketException sẽ được ném ra.

Vì vậy, IOException, SocketException, và UnknownHostException đều có thể xảy ra, nhưng IOException là tổng quát hơn và bao gồm nhiều trường hợp lỗi I/O có thể xảy ra trong quá trình gửi dữ liệu. Tuy nhiên, theo ngữ cảnh của câu hỏi, cả ba ngoại lệ trên đều có khả năng xảy ra, nhưng theo tài liệu của Java, IOException là ngoại lệ chính được liệt kê khi sử dụng hàm send().

Tổng hợp 350 câu hỏi trắc nghiệm môn lập trình mạng có đáp án đầy đủ nhằm giúp các bạn dễ dàng ôn tập lại toàn bộ các kiến thức.


50 câu hỏi 60 phút

Câu hỏi liên quan