try...catch
3677 ワード
try...catch
エラーが発生した場合、スクリプトはすぐに停止し、
アクションアルゴリズム エラーがなければ、 エラーが発生した場合、
変数 有効なコードのエラーのみを処理
このエラーを「ランタイムエラー」または「例外」と呼びます.
同期
エラーが発生した場合、JavaScriptはエラーの詳細を含むオブジェクトを生成します.次に、このオブジェクトをパラメータとして
入力フォーマットが間違っている通常コード サーバから送信されたデータ 送信 に変換文字列形式で送信される となるエラー ミススロー
構文エラーですが、データが不完全なためエラーが発生します.不完全データ が作成されます. リファレンス
https://ko.javascript.info/try-catch
エラーが発生した場合、スクリプトはすぐに停止し、
console
にエラーを出力します.try...catch
構文キャプチャエラーにより、スクリプトのハングアップを防止できます.アクションアルゴリズム
try {
// 코드
} catch(err) {
// 에러 핸들링
}
try {}
のコードが実行されます.try {}
の最後の行に実行し、catch
ブロックをスキップします.try {}
内の実行は停止し、catch(err)
制御フローはブロックに移行します.変数
err
は、何が起こったかを記述するオブジェクトを含む.try {
{{{{{{{{{{{{
} catch(err) {
alert("유효하지 않은 코드이기 때문에, 자바스크립트 엔진은 이 코드를 이해할 수 없다.");
}
try...catch
実行可能な有効なJavaScriptコードで発生したエラーのみを処理できます.このエラーを「ランタイムエラー」または「例外」と呼びます.
同期
try {
setTimeout(function() {
noSuchVariable; // 스크립트는 여기서 죽음
}, 1000);
} catch (err) {
alert( "작동 멈춤" ); // 실행안됨
}
setTimeout
に渡された匿名関数はtry...catch
を離れた後に実行されるため、エラーをキャプチャできません.setTimeout(function() {
try {
noSuchVariable;
} catch {
alert( "에러를 잡았습니다!" ); // 에러를 잡음
}
}, 1000);
エラー・オブジェクトエラーが発生した場合、JavaScriptはエラーの詳細を含むオブジェクトを生成します.次に、このオブジェクトをパラメータとして
catch
ブロックに渡します.try {
// 코드
} catch(err) { // 에러객체 'err'
// 에러 핸들링
}
メイン番組name
エラー名.未定義の変数によるエラーの場合は、ReferenceError
と名前が付けられます.message
エラー詳細を含むテキストメッセージtry {
lalala; // 에러, 변수가 정의되지 않음!
} catch(err) {
alert(err); // ReferenceError: lalala is not defined
alert(err.name); // ReferenceError
alert(err.message); // lalala is not defined
}
try...catchの使用入力フォーマットが間違っている
JSON
の場合、JSON.parse()
は作成エラーのためにスクリプトを中断します.try...catch
を使用してエラーを処理してみます.let json = '{"name":"John", "age": 30}';
let user = JSON.parse(json);
alert(user.name); // John
alert(user.age); // 30
JSON
文字列をJavaScript
オブジェクトuser
は、propertyを有するオブジェクトlet json = "{ bad json }";
try {
let user = JSON.parse(json);
alert( user.name ); // 동작하지 않음
} catch (err) {
alert( "데이터에 에러가 있어 재요청을 시도합니다." );
console.log(err.name);
console.log(err.message);
}
JSON.parse()
エラーtry
Ancode即時停止catch
ドアへ構文エラーですが、データが不完全なためエラーが発生します.
let json = '{ "age": 30 }';
try {
let user = JSON.parse(json);
alert( user.name ); // undefined
} catch (e) {
alert( "실행되지 않습니다." );
}
throw演算子throw
演算子Error
を使用して、エラーを処理するオブジェクトを作成できます.let json = '{ "age": 30 }';
try {
let user = JSON.parse(json);
if (!user.name) {
throw new Error("불완전한 데이터: 이름 없음");
}
alert( user.name ); // 실행되지 않음
} catch(e) {
alert( "JSON Error: " + e.message );
}
JSON.parse()
エラーはありません.name
存在しない場合はエラーとみなされ、エラーオブジェクトtry
直ちに停止し、catch
に移動します.alert
ウィンドウJSON Error: 불완전한 데이터: 이름 없음
出力https://ko.javascript.info/try-catch
Reference
この問題について(try...catch), 我々は、より多くの情報をここで見つけました https://velog.io/@esc/try...catchテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol