Solidity – Exceptions

Solidity menggunakan cara state-reverting exceptions untuk menangani error. Dimana exception akan membatalkan perubahan yang terjadi pada state dan mengirimkan error pada caller.

Berikut beberapa fungsi untuk menangani error

  • assert() : digunakan hanya untuk memeriksa internal errors atau memeriksa invariants.
  • require(): digunakan untuk memastikan suatu kondisi valid. Seperti input, syarat contract state variable, atau untuk mevalidasi return value dari external contracts.
  • revert(): digunakan untuk menangkap error dan revert current call. Dapat menambahkan message yang berisi detail error, untuk dikembalikan ke caller.
  • throw(): sama dengan revert. Deprecated.

Code yang baik tidak akan pernah mencapai assert statement, jika terjadi, maka ada bug dalam program.

Berikut contoh penggunaan require

string name;

function setName(string _name)
   public
{
   require(name.length>0);
   name = _name;
}
Sharing is caring:

Leave a Comment