หากคำสั่ง catch ของคุณต้องการเข้าถึงตัวแปรที่ประกาศใน statement โดยใช้คำสั่ง inside เป็นตัวเลือกเดียวของคุณ
หากข้อความสั่งการ catch ของคุณต้องการวัตถุที่อ้างอิงในการใช้งานก่อนที่จะถูกกำจัดแล้วภายในเป็นตัวเลือกเดียวของคุณ
หากคำสั่ง catch ของคุณดำเนินการในช่วงเวลาที่ไม่รู้จักเช่นการแสดงข้อความถึงผู้ใช้และคุณต้องการที่จะกำจัดทรัพยากรของคุณก่อนที่จะเกิดขึ้นนั่นคือตัวเลือกที่ดีที่สุดของคุณ
เมื่อใดก็ตามที่ฉันมี scenerio คล้ายกับนี้บล็อก try-catch มักจะอยู่ในวิธีการที่แตกต่างกันต่อไปขึ้นสแตกการโทรจากการใช้ มันไม่ใช่เรื่องปกติสำหรับวิธีที่จะรู้วิธีจัดการกับข้อยกเว้นที่เกิดขึ้นภายในแบบนี้
ดังนั้นคำแนะนำทั่วไปของฉันจึงอยู่ข้างนอก - ข้างนอก
private void saveButton_Click(object sender, EventArgs args)
{
try
{
SaveFile(myFile); // The using statement will appear somewhere in here.
}
catch (IOException ex)
{
MessageBox.Show(ex.Message);
}
}