🙄

try、catchって?

2025/03/08に公開

皆さんこんにちは、ビギナーFlutterエンジニアです。
AIと会社の先輩に聞いてひたすら勉強中の日々です。

エラーが発生する可能性のあるコードを囲む

try { ... } の中に、エラーが発生する可能性のあるコードを記述します。

エラーが発生した場合の処理

tryブロックの後にcatchブロックを記述し、エラーが発生した場合の処理を定義します。
on Exception catch (e) の部分では、Exception型のエラーを捕捉し、そのエラー情報をeという変数に格納します。

安全な実行の保証

エラーが発生しても、アプリがクラッシュせずに処理を続行できます。

// サンプルコード
try {
  // ギャラリーから画像を選択するためのピッカーを開きます
  final pickedFile = await _picker.pickImage(source: ImageSource.gallery);
  // ...
} on Exception catch (e) {
  // エラーが発生した場合の処理
  if (mounted) {
    ScaffoldMessenger.of(context).showSnackBar(SnackBar(content: Text('画像の選択に失敗しました: $e')));
  }
}

画像選択処理中に何らかのエラーが発生した場合(例:権限がない、デバイスの問題など)、catchブロックが実行され、ユーザーにエラーメッセージを表示します。これにより、エラーが発生してもアプリがクラッシュせず、ユーザーに何が起きたかを伝えることができます。

Discussion