JavaScript-də müxtəlif tip istisnaların atılması
Gəlin öz istisnamızı ataq və görək, bu halda xəta obyekti necə davranacaq:
try {
throw new Error('istisna mətni');
} catch (error) {
console.log(error.name); // 'Error'
console.log(error.message); // 'istisna mətni'
}
Gördüyünüz kimi, istisnamızın tipi - 'Error'.
Bu cür atılan istənilən istisnanın tipi eyni olacaq.
Lakin bu, həmişə əlverişli olmayacaq, çünki əgər bizim
bir neçə istisnamız ola bilərsə, onları bir-birindən
fərqləndirə bilməyəcəyik.
JavaScript-də bu problemin həlli nəzərdə tutulub:
yalnız Error tipindən deyil, həm də JavaScript-də
daxili olan istənilən xəta tipindən, məsələn, TypeError,
SyntaxError, RangeError istisnalar atmaq olar.
Gəlin nümunə üçün SyntaxError tipində istisna ataq:
try {
throw new SyntaxError('istisna mətni');
} catch (error) {
console.log(error.name); // 'SyntaxError'
console.log(error.message); // 'istisna mətni'
}
TypeError tipində istisna atın.
SyntaxError və RangeError tipində istisnalar atın.
Bu istisnaları bir try bloku ilə tutun. catch
blokunda müxtəlif tipli istisnalar üçün müxtəlif xəta mesajları
çap edin.