Penggunaan fungsi CATXH pada PHP

Reviewed by Sutiono S.Kom., M.Kom., M.T.I

by Hanifah Nurbaeti November 27, 2020

by Hanifah Nurbaeti November 27, 2020

Contoh
Lempar pengecualian dan kemudian keluarkan pesannya:

<?php
try {
  throw new Exception("An error occurred");
} catch(Exception $e) {
  echo $e->getMessage();
}
?>
  // Output : An error occurred

Section Artikel

  • 1 Definisi dan Penggunaan
  • 2 Syntax
  • 3 Detail Teknis

Definisi dan Penggunaan

Metode getMessage() dapat digunakan untuk mengembalikan deskripsi kesalahan atau perilaku yang menyebabkan pengecualian dilempar.

Syntax

$exception->getMessage()

Detail Teknis

Nilai Kembalian:Mengembalikan string

exceptionsphp

Hanifah Nurbaeti

previous post

Metode getCode() PHP

next post

Metode getPrevious() PHP

You may also like

Codeigniter vs Laravel : Apa Perbedaannya? Simak Penjelasannya

March 23, 2021

Perbedaan Error Handling Pada PHP: die () Vs...

March 19, 2021

PHP 8 Rilis : Kenalan Dengan Fitur Utama...

February 8, 2021

Tipe Data Dalam Bahasa Pemrograman PHP

January 18, 2021

Referensi Timezone Pada PHP

December 30, 2020

Fungsi Zip zip_read() Pada PHP

December 30, 2020

Fungsi Zip zip_open() Pada PHP

December 30, 2020

Fungsi Zip zip_entry_read() Pada PHP

December 30, 2020

Fungsi Zip zip_entry_open() Pada PHP

December 30, 2020

Fungsi Zip zip_entry_name() Pada PHP

December 30, 2020

Table of Contents

  • try-catch
  • Terus dimana on nya ?
  • Wait, kenapa harus pakai finally ?
  • Sebutkan apa saja yang bisa dilakukan untuk penanganan exception?
  • Apa itu exception pada PHP?
  • Versi PHP manakah yang memperkenalkan try catch exception?

Hallowww semua, di artikel ini saya coba membahas mengenai Exception Handling di bahasa Dart.

Apa itu Exception Handling ? ini merupakan cara komputer untuk mengelola error. Jadi saat bikin program itu tidak semuanya akan berjalan mulus, nanti pasti ada error yang harus kita kelola.

Pada kondisi apa terjadi error ? Umumnya exception handling digunakan saat:

  • Tipe data tidak sesuai
  • Method / property tidak ditemukan
  • Error saat membaca file / IO
  • Kesalahan jaringan saat melakukan request / response
  • (...tambahkan dikolom komentar yaa hehe)

Di Dart sendiri sudah disediakan fitur exception handling, dan caranya pun mirip seperti bahasa pemrograman lainnya. Konsep utama dari exception handling adalah try-catch.

try-catch

try merupakan tahapan awal untuk menjalankan exception handling. Sedangkan catch digunakan untuk menerima errornya.

Contoh programnya :

try {
  // Kode disini akan berjalan pertama kali
  print("Proses...");
  dynamic name = 20;
  print(name.length); // Awww error !
  print("Finish !"); // Kode tidak dijalankan
} catch (err) {
  print("Terjadi kesalahan");
}

Enter fullscreen mode Exit fullscreen mode

Program diatas akan mengeluarkan error karena property length itu tidak ada di variable name.

Jadi cara kerjanya adalah pertama kode blok yang ada di dalam try akan dijalankan terlebih dahulu. Ketika terjadi error maka akan langsung lompat ke blok catch.

Output:

Kode program print("Finish !"); tidak dijalankan.

on

Dari bahasa yang saya pelajari sepertinya, Dart ini membuat konsep baru pada Exception Handling, karena pada umumnya yang tersedia hanyalah try, catch, dan finally tapi di Dart ini ada on.

Jadi apa itu on pada Dart ? on digunakan untuk mengelola error berdasarkan jenis errornya. Di kode sebelumnya kita hanya menggunakan try-catch saja yang dimana semua error akan masuk ke dalam catch.

Kode program diatas kita jalankan ulang tapi dengan print yang berbeda:

try {
  // Kode disini akan berjalan pertama kali
  print("Proses...");
  dynamic name = 20;
  print(name.length); // Awww error !
  print("Finish !"); // Kode tidak dijalankan
} catch (err) {
  print("Terjadi kesalahan");
  print(err.toString()); // Kode program baru
}

Enter fullscreen mode Exit fullscreen mode

Outputnya adalah:

Dari gambar diatas kita melihat ada error dengan jenis NoSuchMethodError. Dari dokumentasinya, dituliskan:

...corresponding to a failed method call

Artinya error NoSuchMethodError adalah jenis error yang digunakan ketika method pada variabel tidak ada. Ini terjadi akibat property / method length tidak ada di variabel name.

Terus dimana on nya ?

Nahh disini kita bisa menerapkan keyword on. Maka programnya menjadi:

try {
  // Kode disini akan berjalan pertama kali
  print("Proses...");
  dynamic name = 20;
  print(name.length); // Awww error !
  print("Finish !"); // Kode tidak dijalankan
} on NoSuchMethodError {
  // Kode program yang dialam `on` ini yang akan dijalankan
  print("Method tidak ditemukan");
} catch (err) {
  // Tidak dijalankan
  print("Terjadi kesalahan");
  print(err.toString());
}

Enter fullscreen mode Exit fullscreen mode

Output:

Sekarang yang keluar adalah Method tidak ditemukan bukan Terjadi kesalahan. Kok iso ? itu karena jenis error nya adalah NoSuchMethodError jadi kode program yang ada didalam on NoSuchMethodError itulah yang akan dijalankan.

finally

finally akan dijalankan ketika semua proses selesai, baik itu ada error atau tidak.

Contoh program ketika ada error:

try {
  // Kode disini akan berjalan pertama kali
  print("Proses...");
  dynamic name = 20;
  print(name.length); // Awww error !
  print("Finish !"); // Kode tidak dijalankan
} catch (err) {
  print("Terjadi kesalahan");
} finally {
  print("Proses try-catch selesai");
}

Enter fullscreen mode Exit fullscreen mode

Output program:

Contoh kode program ketika tidak ada error:

try {
  // Kode disini akan berjalan pertama kali
  print("Proses...");
  dynamic name = 20;
  print(name);
  print("Finish !"); // Berjalan
} catch (err) {
  print("Terjadi kesalahan");
} finally {
  print("Proses try-catch selesai");
}

Enter fullscreen mode Exit fullscreen mode

Output program:

Wait, kenapa harus pakai finally ?

Bukankah sama aja ketika kita tidak menggunakan finally ?

Okee kita coba kalau tanpa finally yaa. Jadi programnya:

try {
  // Kode disini akan berjalan pertama kali
  print("Proses...");
  dynamic name = 20;
  print(name.length); // Awww error !
  print("Finish !"); // Kode tidak dijalankan
} catch (err) {
  print("Terjadi kesalahan");
}

print("Proses try-catch selesai");

Enter fullscreen mode Exit fullscreen mode

Output program:

Ehhh, iyaa juga yaaa...

Eitss, finally ini biasanya digunakan untuk membuat program kita lebih konsisten. Umumnya digunakan ketika:

  • Selesai terhubung ke database
  • Membersihkan memori

Sumber https://stackoverflow.com/a/16705037/9905881

Okee deh mungkin itu saja, untuk pembahasan mengenai error / exception handling di bahasa Dart. Kalau kalian memiliki saran / kritikan silahkan komentar yaa 😉

Terima kasih sudah membaca ~

Sebutkan apa saja yang bisa dilakukan untuk penanganan exception?

Terdapat dua penanganan exception yaitu: • Menangani sendiri exception tersebut. dan melemparkannya (throw) keluar agar ditangani oleh kode yang memanggil method(method yang didalamnya terdapat exception) tersebut.

Apa itu exception pada PHP?

Exception secara bahasa berarti pengecualian. Sedangkan secara istilah di dalam PHP, ia adalah sebuah perubahan alur program dari kondisi normal ke kondisi tertentu (atau pengecualian tertentu) jika terjadi suatu error (exception).

Versi PHP manakah yang memperkenalkan try catch exception?

Beberapa exception yang ada di PHP contohnya adalah try dan catch. Exception diperkenalkan di PHP versi 5, ketika penanganan kesalahan standar terbukti tidak cukup untuk kasus-kasus tertentu. Fungsi utama yang digunakan untuk menangani Exception adalah PHP try catch and throw.