Kutupa Aina Mbalimbali za Isipokuwa katika JavaScript
Wacha tupe isipokuwa yetu wenyewe na tuone, jinsi kitu chenye hitilafu kitakavyojitahidi katika hali hii:
try {
throw new Error('maandishi ya isipokuwa');
} catch (error) {
console.log(error.name); // 'Error'
console.log(error.message); // 'maandishi ya isipokuwa'
}
Kama unavyoona, aina ya isipokuwa yetu ni 'Error'.
Aina ileile itakuwa kwa isipokuwa yoyote iliyotupwa kwa
namna hii. Hata hivyo, hii haitakuwa rafiki kila wakati,
kwani, ikiwa tunaweza kuwa na isipokuwa kadhaa,
hataweza kuzitofautisha kutoka kwa kila mmoja.
JavaScript ina suluhisho la tatizo hili:
inawezekana kutupa isipokuwa sio tu ya aina
Error, lakini pia ya aina yoyote ya kujengwa ndani ya JavaScript
ya hitilafu, kwa mfano, TypeError,
SyntaxError, RangeError.
Wacha kwa mfano tupe isipokuwa ya aina
SyntaxError:
try {
throw new SyntaxError('maandishi ya isipokuwa');
} catch (error) {
console.log(error.name); // 'SyntaxError'
console.log(error.message); // 'maandishi ya isipokuwa'
}
Tupa isipokuwa na aina TypeError.
Tupa isipokuwa na aina SyntaxError
na RangeError. Ikamata isipokuwa hizi
kwa kutumia kizuizi kimoja cha try. Katika kizuizi cha catch
onyesha ujumbe tofauti wa hitilafu kwa isipokuwa
za aina tofauti.