24 EYLÜL 2008, ÇARŞAMBA
Neden try {...} finally { ... }; try {...} catch{} kötü?
Özellikle eğer yakalamak bir faydası olsaydı zaten insanlar bağımsız yakalamak kullanmak için yanlış bir hareket olduğunu söylemek istiyorum
StreamReader reader=new StreamReader("myfile.txt");
try
{
int i = 5 / 0;
}
catch // No args, so it will catch any exception
{}
reader.Close();
Ancak, bu iyi formu olarak kabul edilir
StreamReader reader=new StreamReader("myfile.txt");
try
{
int i = 5 / 0;
}
finally // Will execute despite any exception
{
reader.Close();
}
Bildiğim kadarıyla söyleyebilirim, tek farkı koyarak temizleme kodu bir finally bloğu ve yerleştirme, temizleme sonra kod bir try..catch bloğu ise size dönüş tablolarda denemen blok (bu durumda, temizleme kodu son olarak çalışacaktır, ama sonra kod, try..catch).
Aksi halde, sonunda bu kadar özel yapan ne?
CEVAP
24 EYLÜL 2008, ÇARŞAMBA
Büyük fark try...catch
dışında, bir hata oluştuğu gerçeğini gizleme yutmak olacaktır. try..finally
temizleme kodunuzu çalıştırın ve sonra özel durum gideceğini, ne yapacağını bilmediği bir şey tarafından ele olmaya devam edecektir.
Bunu Paylaş:
Kötü uygulama catch finally bloğu için...
Neden &; ad std quot;" kötü olara...
Neden&; dizi yineleme için... "* o kad...
Neden Ruby Hariç => e `kurtarmak iç...
Neden JavaScript eval fonksiyonu kötü ...