Câu hỏi phỏng vấn C#
Câu hỏi

Sự khác nhau giữa throwthrow ex trong C# là gì?

Câu trả lời

Trong C#, throwthrow ex đều được sử dụng để ném (throw) một ngoại lệ (exception), nhưng chúng có sự khác biệt quan trọng về cách thức ném ngoại lệ và thông tin mà ngoại lệ mang theo:

throw

  • Khi sử dụng chỉ throw mà không theo sau bởi một đối tượng ngoại lệ cụ thể, nó sẽ ném lại ngoại lệ hiện tại mà không làm thay đổi stack trace của ngoại lệ đó.
  • Việc sử dụng throw một mình thường được thực hiện trong một khối catch để ném lại ngoại lệ đã bắt được, giữ nguyên thông tin về nguồn gốc và stack trace của ngoại lệ, giúp việc debug trở nên dễ dàng hơn.
csharp Copy
try
{
    // Code có thể phát sinh ngoại lệ
}
catch (Exception)
{
    // Xử lý ngoại lệ
    throw; // Ném lại ngoại lệ mà không làm thay đổi stack trace
}

throw ex

  • Khi sử dụng throw ex, bạn đang ném một đối tượng ngoại lệ cụ thể (ex). Điều này sẽ tạo ra một stack trace mới cho ngoại lệ, bắt đầu từ điểm mà throw ex được gọi.
  • Việc sử dụng throw ex có thể làm mất thông tin về nơi mà ngoại lệ ban đầu đư...
middle

middle

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

middle

Sự khác nhau giữa class, object, structinterface trong C# là gì?

middle

Các kiểu Nullable trong C# là gì?

middle

Generics 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