Có sự khác biệt về hành vi giữa:ném ngoại lệ mới vs Catch khối
if (s == null) // s is a string
{
throw new NullReferenceException();
}
Và:
try
{
Console.Writeline(s);
}
catch (NullReferenceException Ex)
{ // logic in here
}
Cả hai trường hợp ngoại lệ ném của đối tượng null, nếu s là null. Ví dụ đầu tiên là dễ đọc hơn vì nó cho thấy chính xác nơi xảy ra lỗi (bit ngoại lệ nằm ngay bên cạnh dòng sẽ gây ra ngoại lệ).
Tôi đã thấy kiểu mã hóa này rất nhiều trên các blog khác nhau bởi nhiều trình độ khác nhau, nhưng tại sao không chỉ thực hiện logic chính bằng cách kiểm tra nếu s không rỗng và do đó lưu ngoại lệ từ khi được nâng lên? Có một nhược điểm để tiếp cận này?
Cảm ơn
+1 Câu hỏi hay –