Jika pernyataan tangkap Anda perlu mengakses variabel yang dideklarasikan dalam pernyataan menggunakan, maka di dalam adalah satu-satunya pilihan Anda.
Jika pernyataan tangkapan Anda membutuhkan objek yang direferensikan dalam penggunaan sebelum dibuang, maka di dalam adalah satu-satunya pilihan Anda.
Jika pernyataan tangkapan Anda mengambil tindakan berdurasi tidak diketahui, seperti menampilkan pesan kepada pengguna, dan Anda ingin membuang sumber daya Anda sebelum itu terjadi, maka di luar adalah pilihan terbaik Anda.
Setiap kali saya memiliki scenerio yang mirip dengan ini, blok try-catch biasanya dalam metode yang berbeda lebih jauh dari tumpukan panggilan dari menggunakan. Itu tidak khas untuk metode untuk mengetahui bagaimana menangani pengecualian yang terjadi di dalamnya seperti ini.
Jadi rekomendasi umum saya ada di luar — jauh di luar.
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);
}
}