JavaScriptでのネストされたコードにおける例外の捕捉
例外の特徴と利便性は、コードのネストレベルに関係なく 捕捉できる点にあります。例を見てみましょう。 ローカルストレージにデータを保存する関数があるとします:
function save(str) {
localStorage.setItem('key', str);
}
ご存知の通り、ストレージが溢れた場合、
メソッドsetItemは例外をスローします。
しかし、この例外をsave関数内で
捕捉する必要は必ずしもありません。
関数呼び出しそのものをtryでラップすることもできます:
try {
save('ある文字列');
} catch (error) {
alert('ローカルストレージの空き容量が不足しています!');
}
JSONを配列に変換する関数が与えられています:
function getArr(json) {
return JSON.parse(json);
}
次のコードでは、JSONから配列を取得しています:
let arr = getArr('[1,2,3,4,5]');
console.log(arr);
関数の呼び出しをtry-catch構文でラップしてください。