JavaScript 例外処理
はじめに
今日も基礎の部分を固めて行きます!
例外処理とは
例外処理は、コードの実行中に起こる予期せぬ問題やエラーを捉えて、プログラムを適切に処理するための仕組みです。JavaScriptでは、try、catch、throw、finallyの4つのキーワードを使用して行います。
1. tryとcatch
コードがエラーを引き起こす可能性がある場合、そのコードはtryブロック内に配置する必要があります。もしtryブロック内のコードがエラーを引き起こすと、直ちにcatchブロックが実行されます。
try {
console.log("Start of the try block");
nonExistentFunction(); // エラーが発生する
console.log("End of the try block"); // この行はスキップされる
} catch (error) {
console.error("Error occurred:", error.message);
}
Rubyだと、、
begin
# code that might raise an exception
end
rescue => error
# handle the error
end
2. throw
throwを使用すると、カスタムエラーを生成して強制的にエラーを発生させることができます。
let age = 16;
if (age < 18) {
throw new Error("You are too young!");
}
Rubyだと、、
raise "You are too young!"
3. finally
finallyブロックは、エラーの有無に関わらずtryおよびcatchブロックの後に常に実行されます。リソースのクリーンアップやその他の後処理に役立ちます。
try {
console.log("Start of the try block");
} catch (error) {
console.error("Error occurred:", error.message);
} finally {
console.log("This will run no matter what.");
}
Rubyだと、、
ensure
# code that runs no matter what
end
まとめ
-
try
このブロック内のコードは監視され、実行中にエラーが発生すると、すぐにcatchブロックに制御が移ります。 -
catch
このブロックはtryブロック内のコードでエラーが発生したときに実行されます。
エラーオブジェクトを受け取るための変数を指定できます。 -
throw
カスタムエラーや例外を発生させることができます。 -
finally
このブロック内のコードは、tryやcatchの後に常に実行されます。
エラーの有無に関わらず実行したいコードをここに置きます。
try {
// このブロック内でエラーが発生するかもしれません
let result = someFunctionThatMightThrowAnError();
console.log(result);
} catch (error) {
// エラーが発生した場合の処理
console.error("An error occurred:", error.message);
} finally {
// 常に最後に実行する処理
console.log("Try-catch block finished.");
}
// カスタムエラーのスロー
if (someConditionNotMet) {
throw new Error("Custom error message");
}
なぜ例外処理が必要か?
ユーザーがフォームに無効な入力を行った場合や、
APIからのデータ取得中に何らかのエラーが発生した場合など、
多くのシナリオでエラーが発生する可能性があります。
エラーを適切に処理することで、プログラムはクラッシュせずに安定して動作し、
ユーザーに有用なエラーメッセージを提供することができます!
具体的な例で考えると、APIの呼び出しに失敗した場合、
catchブロックを使用してユーザーにエラーメッセージを表示することができます。
これにより、ユーザーは何が問題かを知ることができ、対処する手段を取ることができます。
例外処理を学ぶことで、プログラムの耐障害性を向上させ、
予期せぬエラーに柔軟に対応することができるようになります💡
参考🌱
Discussion