Yeni bir sıfırdan ileriye Javascript konusuna hoş geldiniz. Bugün basit ve oldukça ihtiyacımız olan bir konu olan Error Handling yani hatalarla başa çıkmayı öğreneceğiz. İyi okumalar
Error Handlingin temel yapısı try ve catch komutlarını kullanmaktır. Bunu örneğe dökersek daha iyi anlaşılır.
Kod:
try {
let lastName = 'S0ldier'
let fullName = fistName + ' ' + lastName
} catch (err) {
console.log(err)
}
Burada soyadı tanımlayıp firstname değişkenini tanımlamadık böylece bir hatayı try-catch ile yakalamış olduk.
Throw
Throw ifadesi hatalarda istisnalar yapabilmek için kullanılır. Normalde yapacağımız şey try-catch tarafından hata olarak verilecekken biz throw ifadesi ile hata olarak verilmesini engelleyebiliriz.
Kod:
const throwOrnegi = () => {
let mesaj
let x = prompt('Sayi Girin: ')
try {
if (x == '') throw 'boş'
if (isNaN(x)) throw ' sayi degil'
x = Number(x)
if (x < 5) throw '5ten az'
if (x > 10) throw '10dan fazla'
} catch (err) {
console.log(err)
}
}
throwOrnegi()
Hata Türleri
ReferenceError
Bildirilmemiş bir değişken kullanırsak bir ReferenceError alırız.
Kod:
let firstName = 'dark'
let fullName = firstName + ' ' + lastName
console.log(fullName)
Burada lastname değişkeni yok. Javascript böyle bir değişken bulamadığı için ReferenceError hatasını verir.
SyntaxError
Bir sözdizimi hatası veya kısaca yanlış komutları yazdığımız vakit bu hatayı alırız.
Kod:
let kare = 2 x 2
console.log(kare)
console.log('Hello, world")
Burada mesela kare değişkenine 2 x 2 değeri atamışız ama Javascript X'in değeri yok yani çarpma işlemi için yıldız kullanılması gerekirdi.
Bir başka örnekte ise konsola string tipiyle Hello World yazdıracağız ama ilk olarak stringe tek tırnakla başlayıp çift tırnakla kapatmışız. Bu da bir syntax hatasıdır.
TypeError
Bu hata ise genelde yanlış değişkende yanlış komutlar kullanıldığında alırız.
Kod:
let num = 10
console.log(num.toLowerCase())
Burada numara değişkenine 10 değeri atamışız. Bu bir number tipidir, bizler number tipinde bir değişkene toLowerCase yapamayız çünkü ortada harfleri küçültecek bir string değeri yok.
Bir konunun daha sonuna geldik. Bu konuda hataları nasıl yakalayabileceğimizi ve bu hata türlerinin ne olduğunu öğrendik. Bir başka konuda görüşmek üzere.





