Java nihayet bir bloktan dönen
Son zamanlarda Olası Java nihayet bir blok içinde bir return ifadesi var olduğunu görmek beni çok şaşırttı.
İnsanlar çok kötü bir şey anlatıldığı gibi olduğunu düşünüyor gibi görünüyor 'Don't return in a finally clause'. Biraz daha derine kaşıma, ben de '* *3 pek çok kötü örnekler gösteren' nihayet engeller. akış kontrolü diğer türleri bulundu
Sorum şu ki, kimse bana bir finally return deyimi (veya diğer akış kontrolü) daha iyi / üreten bir örnek vermek daha okunabilir kod olabilir?
CEVAP
Bu neden oldu izlemek için GERÇEKTEN zor bir zaman aşağı bir hatayı yıllar önce yaptım. Kod gibi bir şey oldu:
Object problemMethod() {
Object rtn = null;
try {
rtn = somethingThatThrewAnException();
}
finally {
doSomeCleanup();
return rtn;
}
}
Olanlar hariç başka kod atıldı. Yakalanmaktan ve somethingThatThrewAnException yöntemi içinde açmış rethrown. Ama bu durum problemMethod geçmiş bulaşan insan değildi. Bu bakarak UZUN bir zaman sonra nihayet dönüş yöntemi izlerini bulmuştu. Finally bloğunda dönüş yöntemi temel olarak yakalanan olmasa bile yayılıyor kadar deneyin bloğu olanların dışında durmak oldu.
Diğerleri dediğim gibi, yasal Java spec göre sonunda bir blok döndürmek için ise, KÖTÜ bir şeydir ve yapılmamalıdır.
Neden Java nesne başvurusu bir ilkel d...
Java, ne amaç anahtar kelimeler``, `ni...
Java "-by pass-başvuru" veya...
= Operatörü Java...
Neden char[] şifreler için Dize Java t...