🕌

try,catch処理

2023/11/11に公開

next学んでいるakariです
よくtry,catchが、webサイト書くときに出てくるので、それのメモになります。バリデーションとかに使えるかな、、、

まずは構文を把握

try.js
try{
  //例外が発生するかもしれない命令
} catch(例外情報を受け取る変数) {
  //例外は発生した時の命令
} finally{
  //例外の有無に関わらずに処理される命令
}

例えば

test.js
function parseJSON(jsonString) {
  let parsedData;
  try {
    // JSON解析を試みる
    parsedData = JSON.parse(jsonString);
  } catch (error) {
    // JSON解析中にエラーが発生した場合の処理
    console.error('JSON解析エラー:', error.message);
    parsedData = {}; // デフォルト値を設定
  } finally {
    // 最終的な処理(エラーの有無に関わらず実行される)
    console.log('JSON解析処理が完了しました。');
  }
  return parsedData;
}

// 使用例
const jsonData = '{"name": "Taro", "age": 30}';
const result = parseJSON(jsonData);
console.log(result); // { name: 'Taro', age: 30 }

const invalidJsonData = '{name: "Taro", age: 30}';
const invalidResult = parseJSON(invalidJsonData);
// JSON解析エラーが発生し、デフォルト値の空オブジェクトが返される
console.log(invalidResult); 

この例では、有効なJSON文字列と無効なJSON文字列の両方を解析しようとしています。有効なJSONの場合は正常に解析され、無効なJSONの場合はエラーがキャッチされ、デフォルト値が代わりに使用されます。どちらのケースでも、finallyブロックのメッセージが表示されることが保証されています。これにより、リソースの解放や後始末の処理が適切に行われることが保証されます。

Discussion