Bắt ngoại lệ trong mã lồng nhau trong JavaScript
Đặc điểm và sự tiện lợi của ngoại lệ là chúng có thể được bắt ở bất kỳ mức độ lồng nhau nào của mã. Hãy xem xét một ví dụ. Giả sử chúng ta có một hàm lưu dữ liệu vào bộ nhớ cục bộ:
function save(str) {
localStorage.setItem('key', str);
}
Như bạn đã biết, khi bộ nhớ đầy,
phương thức setItem sẽ ném ra một ngoại lệ.
Tuy nhiên, không nhất thiết phải bắt
ngoại lệ này bên trong hàm save. Có thể bọc
mỗi lần gọi hàm đó trong try:
try {
save('một chuỗi nào đó');
} catch (error) {
alert('hết chỗ trong bộ nhớ cục bộ!');
}
Cho một hàm chuyển đổi JSON thành mảng:
function getArr(json) {
return JSON.parse(json);
}
Trong đoạn mã sau, một mảng được lấy từ JSON:
let arr = getArr('[1,2,3,4,5]');
console.log(arr);
Hãy bọc lời gọi hàm trong cấu trúc try-catch.