DelphiPemrograman

Handling Error dengan Try Except di Delphi #102

kura-kura memiliki batok, yang bernama batok kuya

andrypein.net : Allrite sekarang kita berkenalan dengan klausa try except di delphi, berbeda dengan if…then…else, klausa try…except digunakan untuk menghandle error, untuk contoh kita coba dengan form seperti berikut:

try except di delphi
contoh form

Niatya kita akan buat program untuk membagi bilangan dengan nol dan mengeksekusi perhitungan (pertambahan sih), namun bagaimana jika kita salah input??

Maksudnya saat kita input justru bukan angka tapi malah karakter/huruf.

Percobaan pertama pada button1 coba ketik listing berikut :

procedure TForm1.Button1Click(Sender: TObject);
var a,b,c : real;
begin
  a:=1;
  b:=0;
  c:=a/b;
  showmessage(floattostr(c));
end;

jalankan.

pasti akan muncul eror seperti ini :

LMAO

Alias sejak kapan ada bilangan yang bisa dibagi nol?

Maka dari itu kita pakai error handler dengan menggunakan try except,sebelum bisa menggunakan klausa tersebut terlebih dahulu pilih Tool – Debugger Options.

Tools – Debugger options

Lalu pilih Language Exceptions, dan uncheck bagian Stop On Delphi Exceptions nya, lalu OK.

uncheck bagian itu

Lalu kita coba try except nya, kode pada button1 kita modif sedikit sehingga menjadi kode baru seperti ini :

procedure TForm1.Button1Click(Sender: TObject);
var a,b,c : real;
begin
  try
    a:=1;
    b:=0;
    c:=a/b;
    showmessage(floattostr(c));
  except
    showmessage('bilangan tidak bisa dibagi nol');
  end
end;

Coba di run aplikasi ,dan ahirnya klean bisa menghandle error dengan menampilkan popup ‘bilangan tidak bisa dibagi nol‘, gampang kan?

Begitu juga untuk perhitungan jika kita salah input, perhatikan kode dibawah untuk sisa button nya :

procedure TForm1.Button2Click(Sender: TObject);
var a,b,c : integer;
begin
  a:=strtoint(edit1.Text);
  b:=strtoint(edit2.Text);
  c:=a+b;
  showmessage('hasil penjumlahan adalah = '+inttostr(c));
end;

Kode tidak ada yang salah dan apabila kita masukan angka akan berjalan lancar2 saja, namun coba jika pada input text nya jangan masukan angka (karakter/kalimat/apa lah) pasti akan muncul error begini :

cek string dan gagal

Mari kita atasi dengan penanganan kesalahan dengan menggunakan Try…Except.

Ubah kode pada button2 menjadi seperti ini :

procedure TForm1.Button2Click(Sender: TObject);
var a,b,c : integer;
begin
  try
    a:=strtoint(edit1.Text);
    b:=strtoint(edit2.Text);
    c:=a+b;
    showmessage('hasil penjumlahan adalah = '+inttostr(c));
  except
    showmessage('jangan masukan kata men');
  end;
end;

Jalankan kembali dan anda berhasil kembali.

Artinya anda tidak bisa memakai klausa if…then…else untuk menghandle code tersebut, eksepsi sangat diperlukan.

Try….except adalah error handling dimana blok try adalah perintah untuk memaksa dan blok except adalah eksekusi skrip untuk ngethrow jika terjadi fatal error.

So semoga bermanfaat try except di delphi nya gaes.

*AFK

Related Articles

4 Comments

Tinggalkan Balasan

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *

Back to top button