Saya baru mengenal dart dan saya belajar dart dari youtube. Dan kursus yang saya ikuti adalah tahun 2018. Program yang mereka buat di video mereka tidak berfungsi. Saya menghadapi masalah di bawah ini di semua program saya. Siapa pun, tolong bimbing saya mengapa program menunjukkan kesalahan saat program berjalan dengan benar di video mereka. Apakah itu terjadi karena pembaruan di dart? atau alasan lain? Tolong bantu untuk memperbaiki masalah ini. Terima kasih! Fungsi 'errorMessage' tidak ditentukan. Coba impor pustaka yang mendefinisikan 'errorMessage', koreksi nama menjadi nama fungsi yang ada, atau definisikan fungsi bernama 'errorMessage'.

class CustomException implements Exception {
  String errorMessage() {
    return ("Invalid Amount");
  }
}

void AmountException(int amount) {
  if (amount <= 0) {
    throw new CustomException();
  }
}

void main() {
  try {
    AmountException(0);
  } catch (e) {
    print(errorMessage());
  }
}
0
Umer Yaseen 12 Mei 2021, 19:06

1 menjawab

Jawaban Terbaik

Anda tidak memanggil pesan errorMessage() pada pengecualian. Masalah lainnya adalah catch Anda disetel untuk menangani semua jenis pengecualian. Karena Exception tidak memiliki metode errorMessage(), Anda tidak dapat memanggilnya.

Oleh karena itu, Anda harus menentukan jenis pengecualian yang ingin Anda tangkap yang memungkinkan Anda memanggil metode errorMessage() pada pengecualian yang ditangkap:

class CustomException implements Exception {
  String errorMessage() {
    return ("Invalid Amount");
  }
}

void AmountException(int amount) {
  if (amount <= 0) {
    throw new CustomException();
  }
}

void main() {
  try {
    AmountException(0);
  } on CustomException catch (e) {
    print(e.errorMessage());
  }
}
1
julemand101 12 Mei 2021, 16:21