Melemparkan Berbagai Jenis Pengecualian di JavaScript
Mari kita lempar pengecualian kita sendiri dan lihat, bagaimana objek error akan berperilaku dalam kasus ini:
try {
throw new Error('teks pengecualian');
} catch (error) {
console.log(error.name); // 'Error'
console.log(error.message); // 'teks pengecualian'
}
Seperti yang Anda lihat, jenis pengecualian kita adalah 'Error'.
Jenis yang sama akan berlaku untuk semua pengecualian yang dilempar
dengan cara seperti ini. Namun, ini tidak selalu
akan nyaman, karena jika kita memiliki
beberapa pengecualian, kita tidak dapat membedakannya
satu sama lain.
JavaScript menyediakan solusi untuk masalah ini:
kita dapat melemparkan pengecualian tidak hanya bertipe
Error, tetapi juga dari jenis error bawaan JavaScript
apa pun, misalnya, TypeError,
SyntaxError, RangeError.
Sebagai contoh, mari kita lempar pengecualian bertipe
SyntaxError:
try {
throw new SyntaxError('teks pengecualian');
} catch (error) {
console.log(error.name); // 'SyntaxError'
console.log(error.message); // 'teks pengecualian'
}
Lempar pengecualian dengan tipe TypeError.
Lempar pengecualian dengan tipe SyntaxError
dan RangeError. Tangkap pengecualian ini
dengan satu blok try. Di dalam blok catch
tampilkan pesan error yang berbeda untuk pengecualian
yang jenisnya berbeda.