JavaScript try/catch/finally ifadeleri
- Önceki sayfa throw
- Sonraki sayfa var
- Bir üst katmana dön JavaScript İfade Referans Kılavuzu
Tanım ve Kullanım
try/catch/finally ifadeleri, kod bloğunda meydana gelebilecek kısmi veya tam hataları işlemek için kullanılırken aynı zamanda kodun çalışmaya devam etmesini sağlar.
Hatalar, programcının kodlama hatası, yanlış girdi nedeniyle hatalar ve beklenmedik durumlar olabilir.
try ifadesi, hata kontrolü yapılacak kod bloklarını tanımlamanıza olanak tanır.
Try bloğunda hata meydana gelirse, catch ifadesi size hata işleme kod bloğu tanımlama imkanı verir.
finally ifadesi, try ve catch'in ardından ne olursa olsun kod çalıştırmak için izin verir.
Yorum:catch ve finally ifadeleri opsiyoneldir, ancak try ifadesi kullanıldığında bir tanesinin kullanılması gerekir (hem kullanılmazsa).
İpucu:Hata meydana geldiğinde, JavaScript genellikle durur ve hata mesajı oluşturur. Kendi özelleştirilmiş hatalarınızı oluşturmak için throw ifadesi kullanın (hata fırlatın). Try ve catch ile birlikte kullanılırsa, program akışını kontrol edebilir ve özelleştirilmiş hata mesajları oluşturabilirsiniz.
JavaScript hataları hakkında daha fazla bilgi için JavaScript hata dersini öğrenin.
Örnek
Bu örnekte, kodumuzda (try bloğunda) yazım hatası yaptık.
Bu örnek, "Welcome guest!" mesajını göstermeli, ancak alert yazımı yanlış.
catch bloğu, hataları yakalar ve onları işlemek için kod çalıştırır:
<!DOCTYPE html> <html> <body> <p id="demo"></p> <script> try { adddlert("Welcome guest!"); } catch(err) { document.getElementById("demo").innerHTML = err.message; } </script> </body> </html>
Sayfa altında daha fazla TIY örneği bulunmaktadır.
Sözdizimi
try { tryCode - Denenecek kod bloğu } catch(err) { catchCode - Hataları ele almak için kullanılacak kod bloğu } finally { finallyCode - Try / catch sonucuna bağlı olmaksızın çalıştırılacak kod bloğu }
Parametre değeri
Parametre | Açıklama |
---|---|
tryCode | Gerekli. Hata çalıştırılırken test edilecek kod bloğu. |
err | Gerekli, catch ile birlikte kullanılırsa. Hatanın referans ettiği yerel değişkeni belirtir. Bu değişken, hata bilgilerini içeren Error nesnesine (örneğin, "'addlert' is not defined" mesajı) referans verebilir. Hata throw ifadesi ile oluşturulmuşsa, bu değişken throw ifadesinde belirtilen nesneye işaret eder (daha fazla örnek için bkz.). |
catchCode | Opsiyonel. Try bloğunda hata meydana gelirse çalıştırılacak kod bloğu. Hata meydana gelmezse, bu kod bloğu asla çalıştırılmaz. |
finallyCode | Opsiyonel. Try / catch sonucu ne olursa olsun çalıştırılacak kod bloğu. |
Teknik ayrıntılar
JavaScript sürümü: | ECMAScript 3 |
---|
Daha fazla örnek
Örnek
Bu örnek, girişi kontrol eder. Eğer değer yanlışsa, istisna (err) atar.
catch ifadesi, (err) istisnayı yakalar ve özelleştirilmiş hata mesajı gösterir:
<!DOCTYPE html> <html> <body> <p>5 ile 10 arasında bir sayı girdiğinizden emin olun:</p> <input id="demo" type="text"> <button type="button" onclick="myFunction()">Girdi Test Et</button> <p id="message"></p> <script> function myFunction() { var message, x; message = document.getElementById("message"); message.innerHTML = ""; x = document.getElementById("demo").value; try { if(x == "") throw "Boş"; if(isNaN(x)) throw "Sayı değil"; if(x > 10) throw "Çok yüksek"; if(x < 5) throw "Çok düşük"; } catch(err) { message.innerHTML = "Girdi: " + err; } } </script> </body> </html>
Örnek
finally ifadesi, try ve catch ifadelerinin ardından herhangi bir sonuç ne olursa olsun kodu çalıştırır:
function myFunction() var message, x; message = document.getElementById("message"); message.innerHTML = ""; x = document.getElementById("demo").value; try { if(x == "") throw "Boş"; if(isNaN(x)) throw "Sayı değil"; if(x > 10) throw "Çok yüksek"; if(x < 5) throw "Çok düşük"; } catch(err) { message.innerHTML = "Hata: " + err + "."; } finally { document.getElementById("demo").value = ""; } }
tarayıcı destekli
cümle | Chrome | IE | Firefox | Safari | Opera |
---|---|---|---|---|---|
try/catch/finally | Destek | Destek | Destek | Destek | Destek |
İlgili sayfalar
JavaScript rehberi:JavaScript hatası
JavaScript referans el kitabı:JavaScript throw ifadesi
- Önceki sayfa throw
- Sonraki sayfa var
- Bir üst katmana dön JavaScript İfade Referans Kılavuzu