oke,sekarang kita berkenalan dengan klausa try...except,berbeda
dengan if...then...else,klausa try...except digunakan untuk menghandle
error,untuk contoh kita coba dengan form seperti berikut:
niatya kita akan buat program untuk membagi bilangan dengan nol dan
mengeksekusi perhitungan(pertambahan sih),namun jika kita salah input??
(maksudnya ada angka ada kata) so read this and check this.
keisengan 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 begini:
dan sejak kapan ada bilangan yang bisa dibagi nol???wkwkwkkw]
nah,maka dari itu kita pakai error handler dengan menggunakan try...except,sebelum itu jump dulu kesini, pilih Tool - Debugger Options
lalu pilih Language Exceptions,dan uncheck(jangan ceklis) bagian Stop On Delphi Exceptions nya,OK.
lalu kita coba try...except nya,cuma tambah ko,maka kode baru tersebut jadi 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,dan anda bisa menghandle error bahwa showmessage('bilangan tidak bisa dibagi nol');gampang kan??
begitu juga untuk perhitungan jika kita salah input,perhatikan kode dibawah:
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;
hmmmmmm sepertinya kode diatas berjalan lancar2 saja,namun coba
jika pada edittext jangan masukan angka,ex : karakter/kalimat/apa lahpasti muncul begini :
maka dari itu gunakan kembali 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.anda tidak bisa memakai klausa if...then...else untuk menghandle code tersebut,eksepsi sangat diperlukan,artinya try....except adalah error handling dimana blok try adalah perintah untuk memaksa dan blok except adalah jika terjadi fatal error. so semoga bermanfaat.



13.22
RONNIO BANDERAS
Posted in:
0 komentar:
Posting Komentar