JavaScript'te Çeşitli Hata Türlerinin Fırlatılması
Kendi istisnamızı fırlatalım ve bu durumda hata nesnesinin nasıl davranacağını görelim:
try {
throw new Error('istisna metni');
} catch (error) {
console.log(error.name); // 'Error'
console.log(error.message); // 'istisna metni'
}
Gördüğünüz gibi, istisnamızın türü 'Error'.
Benzer şekilde fırlatılan herhangi bir istisnanın
türü de aynı olacaktır. Ancak bu, her zaman
uygun olmayabilir, çünkü birden fazla istisna
olabilirse, onları birbirinden ayırt edemeyiz.
JavaScript'te bu sorunun bir çözümü vardır:
sadece Error türünden değil, aynı zamanda
JavaScript'te yerleşik olan herhangi bir hata
türünden, örneğin TypeError,
SyntaxError, RangeError istisnalar
fırlatılabilir.
Örnek olarak SyntaxError türünde bir
istisna fırlatalım:
try {
throw new SyntaxError('istisna metni');
} catch (error) {
console.log(error.name); // 'SyntaxError'
console.log(error.message); // 'istisna metni'
}
TypeError türünde bir istisna fırlatın.
SyntaxError ve RangeError türünde
istisnalar fırlatın. Bu istisnaları tek bir
try bloğu ile yakalayın. catch
bloğunda, farklı türlerdeki istisnalar için
farklı hata mesajları çıktılayın.