Câu hỏi

Có cách nào để bắt nhiều exception cùng một lúc và không phải duplicate code trong C# không?

Câu trả lời

Trong C#, bạn có thể bắt nhiều exception cùng một lúc mà không cần phải duplicate code bằng cách sử dụng cú pháp catch nhiều lần sau một khối try. Tuy nhiên, nếu logic xử lý cho các exception này giống nhau, bạn có thể muốn tìm cách để không phải viết lại cùng một đoạn code. Một cách để làm điều này là sử dụng một khối catch duy nhất và kiểm tra kiểu của exception bằng cách sử dụng từ khóa when trong C# 6 trở lên, hoặc sử dụng một phương thức xử lý chung cho tất cả các exception mà bạn muốn bắt.

Sử dụng từ khóa when

Từ C# 6 trở lên, bạn có thể sử dụng từ khóa when để lọc các exception dựa trên điều kiện cụ thể, cho phép bạn xử lý nhiều loại exception khác nhau trong cùng một khối catch mà không cần phải duplicate code.

try
{
    // Code có thể phát sinh exception
}
catch (Exception ex) when (ex is IOException || ex is UnauthorizedAccessException)
{
 ...
Bạn cần đăng nhập để xem
middle

middle

Gợi ý câu hỏi phỏng vấn

middle

Phạm vi của biến thành viên protected internal trong một lớp C# là gì?

middle

Sự khác biệt giữa biến kiểu dynamic và biến kiểu object trong C# là gì?

middle

Sự khác biệt giữa virtual methodabstract method trong C# là gì?

Bình luận

Chưa có bình luận nào

Chưa có bình luận nào