Hedhja e Llojeve të Ndryshme të Përjashtimeve në JavaScript
Le të hedhim një përjashtim tonin dhe të shohim, si do të sillet objekti me gabim në këtë rast:
try {
throw new Error('teksti i përjashtimit');
} catch (error) {
console.log(error.name); // 'Error'
console.log(error.message); // 'teksti i përjashtimit'
}
Siç e shihni, lloji i përjashtimit tonë është 'Error'.
I njëjti lloj do të jetë për çdo përjashtim të hedhur
në këtë mënyrë. Megjithatë, kjo nuk do të jetë
gjithmonë e përshtatshme, pasi nëse mund të kemi
disa përjashtime, ne nuk do të jemi në gjendje t'i dallojmë
ato nga njëra-tjetra.
Në JavaScript parashikohet një zgjidhje për këtë problem:
mund të hidhen përjashtime jo vetëm të llojit
Error, por edhe të çdo lloji të gabimit të integruar në JavaScript,
për shembull, TypeError,
SyntaxError, RangeError.
Le të hedhim, për shembull, një përjashtim të llojit
SyntaxError:
try {
throw new SyntaxError('teksti i përjashtimit');
} catch (error) {
console.log(error.name); // 'SyntaxError'
console.log(error.message); // 'teksti i përjashtimit'
}
Hidhni një përjashtim me llojin TypeError.
Hidhni një përjashtim me llojin SyntaxError
dhe RangeError. Kapni këto përjashtime
duke përdorur një bllok try. Në bllokun catch
shfaqni mesazhe të ndryshëm gabimi për përjashtime
të llojeve të ndryshme.