Hãy cho biết dòng lệnh nào sai?
<%
<%
1>int x=5; int y=0; 2>try
{
3>out.println(x/y);
}
4>catch(Exception ex) 5>out.println(x); 6>finally
{
7>out.println(z);
}
%>
%%
Trả lời:
Đáp án đúng: C
Câu hỏi yêu cầu tìm dòng lệnh sai trong đoạn mã Java (JSP). Ta sẽ phân tích từng lựa chọn:
* **Dòng 1:** `int x=5; int y=0;` - Khai báo và khởi tạo hai biến số nguyên. Hoàn toàn hợp lệ.
* **Dòng 2:** `try` - Bắt đầu một khối `try`. Cú pháp đúng.
* **Dòng 3:** `out.println(x/y);` - Phép chia `x/y` có thể gây ra lỗi `ArithmeticException` (chia cho 0) nếu `y` bằng 0. Đây là một lỗi tiềm ẩn, nhưng dòng lệnh cú pháp đúng.
* **Dòng 4:** `catch(Exception ex)` - Bắt đầu một khối `catch` để bắt các ngoại lệ. Cú pháp đúng.
* **Dòng 5:** `out.println(x);` - In giá trị của `x`. Cú pháp đúng.
* **Dòng 6:** `finally` - Bắt đầu một khối `finally`. Cú pháp đúng.
* **Dòng 7:** `out.println(z);` - Biến `z` không được khai báo trước đó. Đây là một lỗi biên dịch (compile-time error) vì `z` chưa được định nghĩa.
Vì vậy, dòng lệnh sai là dòng 7 do sử dụng biến `z` chưa được khai báo.
Kết luận: Đáp án đúng là C.