Đảm bảo bao gồm try
trong tên phương thức của bạn nếu:
- bạn không ném bất kỳ ngoại lệ
- phương pháp của bạn có chữ ký sau:
bool TrySomething(input, out yourReturn)
Vì vậy, về cơ bản nếu chúng ta sử dụng try
-method, chúng ta chỉ nhận được kết quả boolean.
Vì vậy, đoạn mã sau sẽ không đưa ra bất kỳ ngoại lệ nào:
string input = "blabla";
int number;
if (int.TryParse(input, out number))
{
// wooohooo we got an int!
} else
{
//dooh!
}
Trong khi đó mã này có thể (và trong trường hợp này sẽ) đưa ra các ngoại lệ:
string input = "blabla";
int number;
try
{
number = int.Parse(input); //throws an exception
}
catch (Exception)
{
//dooh!
}
Sử dụng các phương thức Thử là một cách an toàn hơn và phòng thủ hơn để viết mã. Ngoài ra đoạn mã số 2 cần nhiều hiệu năng hơn để thực thi nếu nó không phải là số nguyên.