Saturday, November 1, 2014

Penanganan Exception pada PHP

Exception merupakan kondisi pengecualian pada program. Exception akan mengubah alur program ke mode normal jika terjadi error. Dengan kata lain, exception mengabaikan error yang terjadi dan mengerjakan proses tertentu saat exception tertangkap.

Untuk menggunakan exception dilakukan dengan perintah try dan catch. Perintah try berisi kode-kode yang berisi pengecualian program dan perintah catch berfungsi menangkap kode kode yang dikirim oleh pengecualian pada try. Proses pengiriman kode exception ini biasa disebut dengan throw (melempar).

Ketika exception terjadi karena dipicu oleh error, status kode program akan aman karena eksekusi program akan dialihkan ke kode program penanganan exception (exception handler). Jadi pada kondisi ini exception handler akan meresume eksekusi dari status kode yang tersimpan lalu menghentikan eksekusi script dan melanjutkannya dengan kode pada lokasi lain didalam program.

Penggunaan dasar Exception

Untuk menggunakan exception secara sederhana kita memakai kombinasi Try, Throw dan Catch. Pada Try berisi kode-kode perintah yang memicu error dan akan dibuat exception programnya. Hasil exception dari Try akan dilempar (Throw) dan kemudian ditangkap (Catch) lalu dibuat obyek untuk menampilkan informasi exception.

Contoh penggunaan Exception Handler Sederhana

<?php  
//buat fungsi yang berisi exception didalamnya  
function cekAngka($angka) {  
 if($angka>5) {  
  throw new Exception("Angka harus dibawah 5");  
 }  
 return true;  
}  

//Memicu exception dengan perintah Try, contoh: mengecek angka 7  
try {  
 cekAngka(7);  
 //Jika error terjadi maka exception akan dilemparkan dan perintah dibawah ini tidak akan dieksekusi  
 echo 'Jika meliha pesan ini berarti angka yang anda masukkan dibawah 5';  
}  

//menangkap exception yang dilempar oleh Try dengan catch  
catch(Exception $e) {  
 echo 'Pesan Error: ' .$e->getMessage();  
}  
?>  

Kode diatas akan menampilkan pesan error seperti ini :

Pesan Error: Angka harus dibawah 5

Penjelasan Script:

Pada kode diatas terlihat proses memunculkan exception (try), melemparkan (throw) dan menangkap exception (catch) dan menampilkan informasi exception. Program dimulai dengan membuat fungsi cekAngka yang melemparkan exception jika angka yang dimasukkan lebih besar dari 5.

Selanjutnya exception dipicu dengan perintah try yang menjalankan fungsi cekAngka(7). Exception yang dihasilkan oleh perintah try selanjutnya ditangkap oleh perintah catch yang kemudian menampilkan Pesan Error yang diset oleh perintah throw pada fungsi cekAngka.

Kesimpulan

Untuk menggunakan exception secara sederhana bisa di lihat dari urutan proses berikut ini
 function new_function($variable) {  
  if_condition(condition){  
   throw new Exception("Message");  
  } return true;  
 }
  
 try {  
  new_function(value);  
  non_error_statement...;  
 }  

 catch(Exception $e) {  
  error_message...;  
 }  
Referensi:

0 komentar

Post a Comment