ตรวจสอบให้แน่ใจว่าได้รวมtry
ไว้ใน methodname ของคุณหาก:
- คุณไม่ได้โยนข้อยกเว้นใด ๆ
- วิธีการของคุณมีลายเซ็นต่อไปนี้:
bool TrySomething(input, out yourReturn)
ดังนั้นโดยทั่วไปถ้าเราใช้ - try
วิธีเราจะได้รับผลบูลีนกลับมา
ดังนั้นรหัสต่อไปนี้จะไม่ส่งข้อยกเว้นใด ๆ :
string input = "blabla";
int number;
if (int.TryParse(input, out number))
{
// wooohooo we got an int!
} else
{
//dooh!
}
ในขณะที่รหัสนี้สามารถ (และในกรณีนี้) โยนข้อยกเว้น:
string input = "blabla";
int number;
try
{
number = int.Parse(input); //throws an exception
}
catch (Exception)
{
//dooh!
}
การใช้วิธีการทดลองเป็นวิธีที่ปลอดภัยและป้องกันรหัส นอกจากนี้ข้อมูลโค้ด # 2 ยังใช้ประสิทธิภาพในการดำเนินการมากขึ้นหากไม่ใช่จำนวนเต็ม