|
|
Yayınlandı 17.12.2015 12:34:00
|
|
|

1. İstisna veya istisna olup olmamasından bağımsız olarak, son bloktaki kod çalıştırılır; 2. Deneme ve yakalama oyununda geri dönüş olduğunda, sonunda yine uygulanır; 3. Son olarak, dönüş sonrası ifade işleminden sonra yürütüldü (bu anda, işlemden sonraki değer geri dönmez, ancak döndürülecek değer önce kaydedilir; kod ne olursa olsun, sonunda geri dönen değer değişmez, hatta daha önce kaydedilen değer olsa bile), böylece fonksiyon dönüş değeri nihai çalıştırmadan önce belirlenir; 4. Sonunda return (geri dönüş) özelliğini dahil etmemek en iyisidir, aksi takdirde program erken çıkacak ve geri dönüş değeri deneme veya yakalama bölümünde kaydedilen dönüş değeri değildir. Örnek:
Durum 1:try{} catch(){}sonunda{} return;
Görünüşe göre işlem düzenli olarak gerçekleştiriliyor.
Durum 2:try{ return; }catch(){} nihayetinde{} geri dön;
Program, return blokunda return öncesi kodu çalıştırır (return ifadesindeki ifade işlemi dahil);
sonra son bloku ve sonunda deneme dönüşünü gerçekleştirin;
Son olarak, program Try oyununa döndü, bu yüzden artık çalıştırılmıyor.
Durum 3:try{ } catch(){return; } nihayet{} geri dönüş;
Program try first'ü çalıştırır ve bir istisna ile karşılaşırsa catch block'u çalıştırır,
Bir istisna varsa, return öncesi kodu (return ifadesindeki ifade işlemi dahil) yakalamada çalıştırın ve ardından son ifadedeki tüm kodu çalıştırın.
Son olarak, yakalama blokunda dönüşü gerçekleştirin. Sonunda, 4 yerdeki kod artık çalıştırılmayacak.
İstisna yok: Denemeyi çalıştır ve sonunda geri dön.
Durum 4:try{ return; }catch(){} nihayetinde{return; }
Program, return blokunda return öncesi kodu çalıştırır (return ifadesindeki ifade işlemi dahil);
Sonra son bloğu uygula, çünkü son blokta dönüş var, erken çık.
Vaka 5:try{} catch(){return; }sonunda{return; }
Program, kodu return öncesinde çalıştırır (return ifadesindeki ifade işlemleri dahil) yakalama blokunda;
Sonra son bloğu uygula, çünkü son blokta dönüş var, erken çık.
Durum 6:try{ return; }catch(){return; } nihayetinde{dönüş; }
Program, return blokunda return öncesi kodu çalıştırır (return ifadesindeki ifade işlemi dahil);
Bir istisna vardır: Return öncesi kodu (return ifadesindeki ifade işlemi dahil) catch block'ta çalıştırın;
Sonra final blokunu çalıştırın, çünkü final blokunda return var, bu yüzden erken çıkar.
İstisna yok: sonra son bloğu tekrar çalıştırın ve erken çıkın çünkü son blokta dönüş var.
Son Sonuç: Try or catch'teki herhangi bir return ifadesi, nihai ifadeden önce yürütülür, eğer nihayet varsa.
Sonunda bir iade bildirimi varsa, program geri dönecek, yani ifadesi kesinlikle geri dönecek.
Derleyici, return özelliğini sonunda uyarı olarak uygular.
|
Önceki:.net, içeriği dinlemek için HttpListener kullanır ve engellemeyi önlemek için kullanıcılara yanıt vermek için threads kullanırÖnümüzdeki:VS2013, hızlıca belirli bir kod satırına ulaş, kestirme yol nedir?
|