まず、基本的なtry-catch
文の構文は以下の通りです:
try {
// 例外が発生する可能性のあるコード
} catch (exception) {
// 例外が発生した場合の処理
}
上記のコードでは、try
ブロック内のコードが実行されます。もし例外が発生した場合、例外オブジェクトがcatch
ブロックのパラメータexception
に渡され、catch
ブロック内の処理が実行されます。
以下に、より具体的な例を示します:
void divideNumbers(int a, int b) {
try {
var result = a ~/ b;
print('結果: $result');
} catch (e) {
print('エラーが発生しました: $e');
}
}
void main() {
divideNumbers(10, 0);
}
上記の例では、divideNumbers
関数内で2つの数値の除算を行っています。もしb
が0である場合、ゼロ除算の例外が発生します。この例外をcatch
ブロックでキャッチし、エラーメッセージを表示します。
さらに、catch
ブロックを複数持つこともできます。これにより、複数の異なる例外を処理することができます。
void parseInteger(String value) {
try {
var number = int.parse(value);
print('整数値: $number');
} on FormatException {
print('入力値が不正です');
} on Exception catch (e) {
print('エラーが発生しました: $e');
}
}
void main() {
parseInteger('abc');
}
上記の例では、parseInteger
関数で文字列を整数に変換しています。もし変換ができない場合、FormatException
が発生します。on
キーワードを使用して特定の例外をキャッチし、異なるエラーメッセージを表示しています。
以上が、Dartでの例外処理(try-catch)の使用方法とコード例です。例外処理を適切に行うことで、プログラムの安定性とエラーハンドリングの効率を向上させることができます。