İşaretli istisnalar da ADA'dadır.
(Uyarı, bu gönderide karşılaşabileceğiniz güçlü inançlar içeriyor.)
Programcılar onlardan hoşlanmıyor ve şikayet ediyor veya istisna yutma kodu yazıyor.
İşaretli istisnalar var çünkü işler sadece başarısız olamaz, bir hata modu / etki analizi yapabilir ve bunu önceden belirleyebilirsiniz.
Dosya okumaları başarısız olabilir. RPC çağrıları başarısız olabilir. Ağ GÇ başarısız olabilir. Veriler ayrıştırıldığında yanlış biçimlendirilebilir.
Kod için "mutlu yol" kolaydır.
Üniversitede harika "mutlu yol" kodu yazabilecek bir adam tanıyordum. Son vakaların hiçbiri işe yaramadı. Bu günlerde açık kaynak kodlu bir şirket için Python yapıyor. Dedi Nuff.
İşaretli istisnaları işlemek istemiyorsanız, gerçekten söylediğiniz şey
While I'm writing this code, I don't want to consider obvious failure modes.
The User will just have to like the program crashing or doing weird things.
But that's okay with me because
I'm so much more important than the people who will have to use the software
in the real, messy, error-prone world.
After all, I write the code once, you use it all day long.
Bu nedenle, kontrol edilen istisnalar programcılar tarafından sevilmeyecek, çünkü daha fazla iş anlamına geliyor.
Tabii ki, diğer insanlar bu işin yapılmasını istemiş olabilirler.
Dosya sunucusu başarısız olsa / USB çubuğu ölse bile doğru cevabı istemiş olabilirler.
Programlama topluluğunda, işiniz yazılım yazmak olduğunda hayatınızı kolaylaştıran, keyif aldığınız bir programlama dili kullanmanız gerektiği garip bir inançtır. İşiniz birinin problemini çözmektir, programlı Jazz doğaçlama yapmanıza izin vermez.
Amatör bir programcıysanız (para için programlama yapmıyorsanız), C # veya başka bir dilde kontrol edilmiş istisnalar olmadan programlamaktan çekinmeyin. Heck, Logodaki orta adamı ve programı kesin. Kaplumbağa ile yere güzel desenler çizebilirsiniz.