Ném các loại ngoại lệ của riêng bạn trong JavaScript
Số lượng ngoại lệ được tích hợp sẵn trong JavaScript không nhiều và chúng thường không thể đáp ứng tất cả nhu cầu của chúng ta về các loại ngoại lệ khác nhau. Vì vậy, JavaScript có tích hợp sẵn khả năng tạo ra các ngoại lệ với loại của riêng bạn.
Có nhiều cách khác nhau để làm điều này. Cách
đơn giản nhất - truyền một đối tượng
với các khóa name và message vào throw:
try {
throw {name: 'MyError', message: 'văn bản ngoại lệ'};
} catch (error) {
console.log(error.name); // 'MyError'
console.log(error.message); // 'văn bản ngoại lệ'
}
Trước đây chúng ta đã tạo một hàm, ném ra một ngoại lệ khi chia cho số không:
function div(a, b) {
if (b !== 0) {
return a / b;
} else {
throw new Error('lỗi chia cho số không');
}
}
Hãy sửa đổi hàm này để nó ném ra một
ngoại lệ với một loại nào đó do chúng ta tưởng tượng ra,
ví dụ: DivisionByZeroError.
Trước đây bạn đã làm một hàm, ném ra một ngoại lệ khi cố gắng lấy căn bậc hai của một số âm. Hãy sửa đổi hàm của bạn để nó ném ra một ngoại lệ với loại do bạn tưởng tượng ra. Hãy suy nghĩ kỹ về tên của ngoại lệ, để tên đó là một cái tên hay.