Yazdığımız JavaScript kodlarında bir hata meydana geldiğinde bu hatanın detaylarını JavaScript Error nesnesi ile öğrenebiliyoruz. Bu yazımda Error nesnesinin özelliklerini inceleyeceğiz.
JavaScript Error Nesnesi
Error nesnesi ile 2 özelliği kullanabiliyoruz. Bunlar:
- Name : Hatanın adını geriye döndürür.
- Message : Hata mesajını geriye döndürür.
Name özelliğinin yani oluşan hatanın adının 6 farklı değeri bulunuyor. Bunlar:
1 – EvalError : Eval() fonksiyonunda bir hata oluştuğunda döndürülür.
2 – RangeError : Belirli bir aralık dışında sayı oluştuğunda döndürülür.
Örnek
1 2 3 4 5 6 7 8 9 |
<script> var sayi = 1; console.log(sayi.toPrecision(500)); </script> |
Çıktısı : Uncaught RangeError: toPrecision() argument must be between 1 and 100 at Number.toPrecision
Yukarıdaki örneği try catch kullanarak yazdığımızda oluşan hatanın adını daha net görebiliriz.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
<script> var sayi = 1; try { sayi.toPrecision(500) } catch(err) { console.log(err.name); } </script> |
Çıktısı : RangeError
3 – ReferenceError : Geçersiz bir referans oluştuğunda döndürülür.
Örnek
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
<script> var toplam; try { toplam = sayi1 + 5; } catch(err) { console.log(err.name); } </script> |
Çıktısı : ReferenceError
Yukarıdaki örneğimizde sayi1 değişkeninin referansı olmadığı için oluşan hatanın adı “ReferenceError”.
4 – Syntax Error : Bir sözdizimi hatası oluştuğunda döndürülür.
Örnek
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
<script> try { eval("alert('Merhaba)"); } catch(err) { console.log(err.name); } </script> |
Çıktısı : SyntaxError
‘Merhaba olarak yazdığımız için syntax hatası döndürüldü. Doğru yazımı şu şekilde olmalıydı:
eval(“alert(‘Merhaba’)”);
5 – TypeError : Bir tür hatası oluştuğunda döndürülür.
Örnek
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
<script> var sayi = 8; try { sayi.toUpperCase(); } catch(err) { console.log(err.name); } </script> |
Çıktısı : TypeError
Yukarıdaki örneğimizde sayi değişkeni Number veri türündedir. toUpperCase() metodu ise String veri türlerinde olan değişkenleri büyük harfe dönüştürmek için kullandığımız bir metottur.
Number veri türündeki değişkene String metodunu uygulamaya çalıştığımız için TypeError hatası döndürüldü.
6 – URIError : EncodeURI() içerisinde bir hata oluştuğunda döndürülür.
Örnek
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
<script> try { decodeURI("%%"); } catch(err) { console.log(err.name); } </script> |
Çıktısı : URIError
URIError hatası döndürüldü. Çünkü % (yüzde) işaretinin URI kodunu çözemiyor.
Umarım sizin için faydalı bir yazı olmuştur.
Şu yazılar da ilginizi çekebilir.
JavaScript throw ve try-catch Kullanımı
Yeni bir yazımda görüşmek üzere.