職案人

求職・歴史・仏教などについて掲載するつもりだが、自分の思いつきが多いブログだよ。適当に付き合って下さい。

js--try...catch...finally文

2024年03月31日 | JavaScript
try...catch...finally文
【開発環境】
OS:Win11(64ビット)
VSCode1.72.2、
クロム
 
【try...catch...finally文の使い方】
try...catch...finally 文を使用すると、 try ブロックの中で例外がスローされたかどうかに関わらず、必ず最後に実行する処理を記述することができます。
 
・書式
try{
  例外が発生する可能性がある文を記述
  ・・・
} catch(e) {
  例外をキャッチしたときに実行される処理
  ・・・
} finally {
  最後に実行される処理
  ・・・
}
finally のあとのブロックは、 try ブロックの処理が終わったあと、また例外がスローされた場合は catch ブロックの処理が終わったあとで必ず実行されます。
try ブロックや catch ブロックの中で retnrn 文や break 文などが実行されて処理が try...catch...finally 文から別のところへ移動する場合であっても、移動が行われる前に実行されます。
 
サンプル文
function sum(a, b){
  let sum;
  try{
    sum = a + b;
  } catch(e) {
    console.error(e);
    return null;
  } finally {
    console.log('Finally!');
  }

  return sum;
}

console.log('Start');

console.log(sum(10, 8));
console.log(sum(10, 8n));

console.log('End');
実行
> Start
> Finally!
> 18
> TypeError: Cannot mix BigInt and other types, use explicit conversions
> Finally!
> null
> End
例外がスローされる可能性のある文を try ブロック内に記述し、例外をキャッチした場合の処理を catch ブロック内に記述しています。
そして例外をキャッチするかどうかに関わらず最後に実行する処理を finally ブロック内に記述しています。
 
また、catchがないtry...finallyも書式として、問題ない
try{
  例外が発生する可能性がある文を記述
  ・・・
} finally {
  最後に実行される処理
  ・・・
}

ただ catch がない場合は例外をキャッチすることができませんので、 例外がスローされた場合はプログラムが強制終了します


コメント    この記事についてブログを書く
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする
« JS--try...catch文 | トップ | 息子介護物語-エピソード65(... »
最新の画像もっと見る

コメントを投稿

JavaScript」カテゴリの最新記事