Dart Exceptions

Dart dapat melempar (throw) dan menangkap pengecualian (exceptions). Exception adalah kesalahan yang menunjukkan bahwa sesuatu yang tidak terduga telah terjadi. Jika Exception tidak tertangkap, isolat yang memunculkan pengecualian akan ditangguhkan, dan biasanya isolat dan programnya dihentikan.

Throw

Berikut contoh throw

throw 'Error number';

Karena throw exceptions adalah ekspresi, kita bisa me buat throw exceptions dalam pernyataan =>, serta di mana pun yang mengizinkan ekspresi.

void distanceTo(Point other) => throw UnimplementedError();

Catch

Catch, atau capturing, adalah exceptions menghentikan proses jika terjadi kesalahan

void misbehave() {
  try {
    dynamic foo = true;
    print(foo++); // Runtime error
  } catch (e) {
    print('misbehave() partially handled ${e.runtimeType}.');
    rethrow; // Allow callers to see the exception.
  }
}

void main() {
  try {
    misbehave();
  } catch (e) {
    print('main() finished handling ${e.runtimeType}.');
  }
}

Finally

Untuk memastikan bahwa beberapa kode berjalan baik exceptions dilempar atau tidak, gunakan klausa finally. Jika tidak ada klausa catch yang cocok dengan exceptions, exceptions tersebut tangkap setelah klausa finally berjalan:

try {
  breedMoreLlamas();
} catch (e) {
  print('Error: $e'); // Handle the exception first.
} finally {
  cleanLlamaStalls(); // Then clean up.
}

hyvercode