JavaScript の try - catch - finally ステートメント
1789 ワード
try、catch、および finally ブロックは、例外 (エラーの一種) を処理するために使用されます.それらについて学ぶ前に、プログラミングにおけるエラーの種類について知る必要があります.
JavaScript の try...catch ステートメント:
例外を処理するには、try...catch ステートメントを使用します.その構文は次のとおりです.
メインコードは try ブロック内にあります. try ブロックの実行中にエラーが発生すると、catch ブロックに移動します. catch ブロックは、catch ステートメントに従ってエラーを処理します.
エラーが発生しない場合、try ブロック内のコードが実行され、catch ブロックはスキップされます.
JavaScript try...catch...finally ステートメント:
また、try...catch...finally ステートメントを使用して例外を処理することもできます. finally ブロックは、コードが正常に実行された場合とエラーが発生した場合の両方で実行されます.
try...catch...finally ブロックの構文は次のとおりです.
注: try ステートメントの後には、catch または finally ステートメントを使用する必要があります.そうしないと、プログラムはエラーをスローします.
JavaScript try...setTimeout でキャッチ:
setTimeout() のように「時限」コードで例外が発生した場合、try...catch は例外をキャッチしません.例えば:
上記の try...catch は機能しません.これは、エンジンが既に try..catch 構造を離れており、関数が後で実行されるためです.
時限関数内で例外をキャッチするには、try..catch ブロックがその関数内にある必要があります.例えば、
また、throw ステートメントを try...catch ステートメントと共に使用して、ユーザー定義の例外を使用することもできます.たとえば、特定の数値は 0 で除算されます.無限大をプログラム内のエラーと見なしたい場合は、throw ステートメントを使用してユーザー定義の例外をスローし、その条件を処理できます.
JavaScript の try...catch ステートメント:
例外を処理するには、try...catch ステートメントを使用します.その構文は次のとおりです.
try {
// body of try
}
catch(error) {
// body of catch
}
メインコードは try ブロック内にあります. try ブロックの実行中にエラーが発生すると、catch ブロックに移動します. catch ブロックは、catch ステートメントに従ってエラーを処理します.
エラーが発生しない場合、try ブロック内のコードが実行され、catch ブロックはスキップされます.
JavaScript try...catch...finally ステートメント:
また、try...catch...finally ステートメントを使用して例外を処理することもできます. finally ブロックは、コードが正常に実行された場合とエラーが発生した場合の両方で実行されます.
try...catch...finally ブロックの構文は次のとおりです.
try {
// try_statements
}
catch(error) {
// catch_statements
}
finally() {
// codes that gets executed anyway
}
注: try ステートメントの後には、catch または finally ステートメントを使用する必要があります.そうしないと、プログラムはエラーをスローします.
JavaScript try...setTimeout でキャッチ:
setTimeout() のように「時限」コードで例外が発生した場合、try...catch は例外をキャッチしません.例えば:
try {
setTimeout(function() {
// error in the code
}, 3000);
} catch (e) {
console.log( "won't work" );
}
上記の try...catch は機能しません.これは、エンジンが既に try..catch 構造を離れており、関数が後で実行されるためです.
時限関数内で例外をキャッチするには、try..catch ブロックがその関数内にある必要があります.例えば、
setTimeout(function() {
try {
// error in the code
} catch {
console.log( "error is caught" );
}
}, 3000);
また、throw ステートメントを try...catch ステートメントと共に使用して、ユーザー定義の例外を使用することもできます.たとえば、特定の数値は 0 で除算されます.無限大をプログラム内のエラーと見なしたい場合は、throw ステートメントを使用してユーザー定義の例外をスローし、その条件を処理できます.
Reference
この問題について(JavaScript の try - catch - finally ステートメント), 我々は、より多くの情報をここで見つけました https://dev.to/devnazmul/javascript-try-catch-finally-statement-1p5gテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol