Future.error

Viewing 2 posts - 1 through 2 (of 2 total)
  • Author
    Posts
  • #48787
    Irsyad
    Participant

      Halo coach saya masih kurang paham untuk yang Future.error, bisa dijelaskan lagi gak coach maksud penggunaanya di asynchronous function?

      #48789
      Anonymous

        Hi Irsyad,
        Future.error sebenarnya mirip dengan throw Exception, hanya saja Future.error lebih prefer dipakai pada function Future yang akan dipakai/dipanggil di bagian widget, karena jika terjadi error/exception dalam function tersebut tanpa kita catch dan return sebagai Future.error, maka pada saat memanggil function tersebut di widget contoh saja di FutureBuilder, maka akan terjadi error, karena kita tidak bisa menggunakan try catch pada widget.
        Satu-satunya cara ngecek error diFutureBuilder yaitu dengan validasiin if(snapshot.hasError) seperti yang ada di file home_screen.dart kita ada menggunakan FutureBuilder kemudian kita memvalidasiin errornya seperti ini

        if (notesSnapshot.hasError) {
          return Center(child: Text(notesSnapshot.error.toString()));
        }

        begitu juga saat kita ingin menggunakan .catchError dari future sendiri seperti yang kita lakukan pada file note_item.dart saat memanggil function toggleIsPinned yang mana codenya seperti ini:

        notesProvider.toggleIsPinned(note.id).catchError((onError) {
          // nampilin scaffoldMessenger
        });

        nah jika kita mau agar .catchError ini menangkap error yang terjadi maka saat terjadi error function future tersebut harus return Future.error bukan throw Exception, karena jika error yang terjadi merupakan exception, maka akan error karena .catchError tersebut gk bisa ngecatch Exception tersebut.

      Viewing 2 posts - 1 through 2 (of 2 total)
      • You must be logged in to reply to this topic.
      Shopping cart0
      There are no products in the cart!
      Continue shopping