Kimama-IT

ITに関する覚書き

【Flutter/Dart】exception・throw・try・catchの使用例

公式ページのイントロダクションをもとにした使用例のメモです。

dart.dev

void main() {
  int astronauts = -1;
  try {
    if (astronauts <= 0) {
      throw StateError('No astronauts.');
    }
    print('$astronauts astronauts');
  } catch (e) {
    print(e);
  }
}
import 'dart:io';

void main() {
  describeFlybyObjects(flybyObjects);
}

var flybyObjects = ['Jupiter', 'Saturn', 'Uranus', 'Neptune'];

Future<void> describeFlybyObjects(List<String> flybyObjects) async {
  try {
    for (final object in flybyObjects) {
      /// libフォルダの中にJupiter.txtを配置しておく。
      var description = await File('lib/$object.txt').readAsString();
      print(description);
    }
  } on IOException catch (e) {
    print('Could not describe object: $e');
  } finally {
    flybyObjects.clear();
  }
}