Subject: Throwable veya Error değil, Exception
Atılabilen hata sıradüzenlerinin en tepesinde Throwable var. Atılabilen bütün hatalar onun altındaki iki sınıftan türüyor:
Kendi hatalarımızı Error'dan mı yoksa Exception'dan mı türeteceğimizden emin olamıyordum; TDPL'i okuyunca anladım:
- Ya doğrudan Exception atın, ya da Exception'dan türemiş olan bir tür atın
- Error'dan türemiş olan türleri veya Throwable'ı yakalamayın
Kolay...
TDPL, Error veya Throwable'ın yakalanmasının tanımsız davranış olduğunu söylüyor.
D.ershane bu konuda hatalı; çünkü Throwable'ı "catch eden" bazı örnekler var. Onları da düzelteceğim. (Aslında düzelttim ama henüz siteye koymadım.)
Ali
Throwable
↗ ↖
Exception Error
↗ ↖ ↗ ↖
... ... ... ...
Kendi hatalarımızı Error'dan mı yoksa Exception'dan mı türeteceğimizden emin olamıyordum; TDPL'i okuyunca anladım:
- Ya doğrudan Exception atın, ya da Exception'dan türemiş olan bir tür atın
- Error'dan türemiş olan türleri veya Throwable'ı yakalamayın
Kolay...
TDPL, Error veya Throwable'ın yakalanmasının tanımsız davranış olduğunu söylüyor.D.ershane bu konuda hatalı; çünkü Throwable'ı "catch eden" bazı örnekler var. Onları da düzelteceğim. (Aslında düzelttim ama henüz siteye koymadım.)
Ali
acehreli
Show profile
Link to this post
Örneğin 'reduce' işlevi, kendisine verilen aralığın boş olmamasını şart koşuyormuş. Bunu, enforce(!r.empty); ile denetliyor. Ben de neredeyse "biz de kendi kodlarımızda hep enforce kullanmalıyız" diyeceğim ama tam da emin olamıyorum.