JavaScript で catch を使わない try

Shraddha Paghdar 2023年10月12日
JavaScript で catch を使わない try

今日の記事では、JavaScript で catch を実装せずに try ステートメントについて説明します。

JavaScript で Catch なしで Try

JavaScript の try ブロックは、例外をスローする可能性のあるコードを囲むために使用されます。メソッド内で使用する必要があります。

特定のステートメントで例外が発生した場合は、catch ステートメントでキャッチする必要があります。

構文:

try {
  try_statements
  /* Code to executed */
} catch (exception_var) {
  catch_statements
  /* Handle exception */
} finally {
  finally_statements
  /* Final Code/Clean variables */
}
  1. try_statements は実行されるステートメントです。
  2. catch_statements は、try ブロックで例外がスローされたときに実行されるステートメントです。
  3. exception_var は、関連付けられた catch ブロックの例外オブジェクトを含むオプションの識別子です。
  4. finally_statements は、テストステートメントの完了後に実行されるステートメントです。これらのステートメントは、例外がスローされたかキャッチされたかに関係なく実行されます。

try ステートメントは、1つ以上のステートメントを含む try ブロックで構成されます。 {} は、単一のステートメントであっても、常に使用する必要があります。

catch ブロックまたは finally ブロックが存在する必要があります。これにより、try ステートメントの 3つの組み合わせが得られます。

  1. try...catch
  2. try...finally
  3. try...catch...finally

catch ブロックには、try ブロック内で例外がスローされたときに同時に実行することを指定するステートメントが含まれています。try ブロック内(または try ブロックから呼び出された関数内)のステートメントが例外をスローした場合、制御はすぐに catch ブロックに切り替わります。

try ブロックで例外がスローされない場合、catch ブロックは無視/スキップされます。

finally ブロックは、try および catch ブロックの実行が終了した後に常に実行されます。例外がスローされたかスタックしたかに関係なく、finally ブロックは通常、その内部のステートメントを使用して実行されます。

1つ以上のテストステートメントをネストできます。内部の try ステートメントにエラーを処理するための catch ブロックがない場合は、代わりに、囲んでいる try ステートメントの catch ブロックが使用されます。

try ステートメントを使用して、JavaScript の例外を処理することもできます。例外がスローされると、catch ブロックが例外を処理しなくても、finally ブロックのステートメントが最終的に実行されます。

try...catch の詳細については、try...catch のドキュメントをご覧ください。

次の例でそれを理解しましょう。

try {
  console.log('Executing try block')
  throw new Error(0 / 0)
} finally {
  console.log('Final Call')
}

上記の例では、catch なしで try を定義しました。00 で割ってエラーをスローします。

catch ブロックがないために finally ブロックがキャッチしない NaN エラーをスローし、finally ブロック内に"Final Call"ステートメントを出力します。これらのブロックを使用して、必要なアクションを実行し、finally ブロック内の未使用の変数/リソースをクリーンアップすることもできます。

JavaScript をサポートする任意のブラウザで上記のコードスニペットを実行してみてください。以下の結果が表示されます。

Executing try block
Final Call

デモ

Shraddha Paghdar avatar Shraddha Paghdar avatar

Shraddha is a JavaScript nerd that utilises it for everything from experimenting to assisting individuals and businesses with day-to-day operations and business growth. She is a writer, chef, and computer programmer. As a senior MEAN/MERN stack developer and project manager with more than 4 years of experience in this sector, she now handles multiple projects. She has been producing technical writing for at least a year and a half. She enjoys coming up with fresh, innovative ideas.

LinkedIn