🔴
Try-catchのエラーハンドリング
try-catch文とは
tryブロックの中でエラーが発生した時に、catchブロックで処理してくれる。
下記のコードは、0で割り算を試みた場合の処理を行っている。
0除算は処理できないため、エラーメッセージが返される。
void main() {
divideNumbers(10, 0);
}
void divideNumbers(int a, int b) {
try {
// ここでゼロ除算を試みる
var result = a ~/ b;
print('Result: $result');
} catch (e) {
// エラーメッセージが表示される
print('Error occurred: $e');
}
}
catchのonキーワード
onキーワードを使うことによって、特定の例外処理をキャッチすることができる。
void main() {
divideNumbers(10, 0);
}
void divideNumbers(int a, int b) {
try {
var result = a ~/ b;
print('Result: $result');
} on IntegerDivisionByZeroException catch (e) {
// 特定の例外処理
print('Caught an integer division by zero exception: $e');
} catch (e) {
print('An unknown error occurred: $e');
} finally {
print('Division attempt completed.');
}
}
finallyブロック
例外が発生したかどうかにかかわらず、必ず実行したい処理を記述できる。
まとめ
- tryブロックでエラーが発生する可能性のある処理、catchブロックで例外をキャッチして処理を行える。
- onキーワードを使い、特定の例外タイプごとに処理が可能。
- finallyブロックで、例外の有無にかかわらず実行したい処理を行える。
Discussion