İstisnaları için var , normal bir program akışını ayırmak den (program yapmak için tasarlanmıştır ne) hata işleme akımı (nasıl programı istisnai durumdan kurtarmak için çalışıyor).
Bu, kodu daha net ve bakımını kolaylaştırır.
İki kod sniplet'ini düşünün:
try:
do1() # this is obvoiusly a normal
do2() # program flow
except:
oups() # this is exception handling code
Buna kıyasla:
if foo():
thing1() # is this part of normal program flow?
else:
thing2() # or maybe this one? Or both? When?
Elbette, programın çökmesini önlemek için kural dışı durum işleme kullanılabilir:
try { // very bad code
my();
whole();
ugly();
application();
here();
} catch (Throwable t) {
// pretend it's ok
}
ancak modern programlama dillerindeki istisnaların nedeni bu değildir.
Ayrıca kullanabilirsiniz while
ve break
yerine if
ama bu ne için while
ve değil break
.