Contents
Apa miliknya sendiri Exceptions?
Exceptions atau bahkan pembebasan adalah barang yang menjelaskan kelalaian atau bahkan kepribadian {tak terduga} berasal dari skrip PHP.
Exceptions ditawarkan melalui beberapa fitur dan pelajaran PHP.
Fungsi dan pelajaran yang ditentukan konsumen selanjutnya dapat menampilkan exceptions.
Exceptions adalah berarti yang efektif untuk menghentikan suatu fitur jika buat catatan yang tidak dapat digunakan.
Pernyataan throw di Exceptions
Pernyataan throw
memungkinkan fitur atau bahkan pendekatan yang ditentukan konsumen untuk membuat exceptions. Ketika exceptions dilemparkan, kode yang mengikutinya tidak pasti akan dijalankan.
Jika exceptions tidak tertangkap, kelalaian mematikan pasti akan berlangsung bersama informasi “Uncaught Exception”.
Mari kita upaya melempar exceptions tanpa menangkapnya:
Contoh :
<?php operate divide($dividend, $divisor) { if($divisor == 0) { throw new Exception("Division by zero"); } return $dividend / $divisor; } echo divide(5, 0); ?>
Hasilnya pasti akan terlihat seperti ini:
Fatal error: Uncaught Exception: Division by zero in C:webfoldertest.php:4
Stack hint: #0 C:webfoldertest.php(9):
divide(5, 0) #1 {foremost} thrown in C:webfoldertest.php online 4
Untuk menghindari kelalaian berasal dari kesempatan di terbaik, kita dapat menggunakan deklarasi strive … catch untuk menangkap exceptions dan {melanjutkan} metode.
Sintaksis
strive{
kode yang dapat throw exceptions
} catch (Exception $e) {
kode yang jalan-jalan kedua exceptions tertangkap
}
Contoh:
Tampilkan informasi ketika pembebasan dilemparkan:
<?php operate divide($dividend, $divisor) { if($divisor == 0) { throw new Exception("Pembagian bersama nol"); } return $dividend / $divisor; } strive { echo divide(5, 0); } catch(Exception $e) { echo "Tidak dapat retak.."; } ?> /*Output Tidak dapat retak. */
Blok catch menunjukkan tipe exceptions apa yang perlu ditangkap dan bagian disesuaikan yang dapat digunakan untuk mengakses exceptions. Pada kesempatan di terbaik, jenis exceptionsnya adalah Exception
dan bagian variabelnya adalah $e
.
Pernytaan strive… catch… lastly
Pernyataan strive… catch… lastly
dapat digunakan untuk menangkap exceptions. Kode di blok lastly
pasti akan terus-menerus jalan-jalan tidak peduli apakah exceptions ditangkap atau bahkan tidak. Jika lastly
ada, blok catch
adalah opsional.
Sintaksis
strive {
kode yang dapat throw exceptions
} catch(Exception $e) {
kode yang jalan-jalan kedua exceptions tertangkap
} lastly {
kode yang terus-menerus jalan-jalan tidak peduli apakah exception ditangkap
}
Contoh:
Tunjukkan informasi ketika pembebasan dilemparkan dan kemudian menandakan bahwa metode telah berakhir:
<?php operate divide($dividend, $divisor) { if($divisor == 0) { throw new Exception("Pembagian bersama nol"); } return $dividend / $divisor; } strive { echo divide(5, 0); } catch(Exception $e) { echo "Tidak dapat retak. "; } lastly { echo "Proses pelapis."; } ?> /*Output Tidak dapat retak. Proses pelapis. */
Contoh:
Keluarkan untai terlepas dari pembebasan tidak tertangkap:
<?php operate divide($dividend, $divisor) { if($divisor == 0) { throw new Exception("Pembagian bersama nol"); } return $dividend / $divisor; } strive { echo divide(5, 0); } lastly { echo "PProses pelapis."; } ?> /*Output Proses pelapis. */
Objek Exceptions
Objek Exception berisi informasi yang relevan melibatkan kelalaian atau bahkan kepribadian {tak terduga} yang ditemui fitur.
Sintaksis
new Exception(message, code, earlier)
Nilai Parameter
Parameter | Deskripsi |
---|---|
message | Optional. String yang menjelaskan mengapa exception miliknya sendiri dilemparkan |
code | Optional.Integer yang dapat digunakan untuk memisahkan exception ini bersama cepat berasal dari exception tambahan yang berjenis setiap bit sebagai |
earlier | Optional. Jika exception ini dilemparkan ke dalam blok catch berasal dari exceptions tambahan, disarankan untuk meneruskan exception miliknya sendiri ke dalam parameter ini |
Metode
Saat menangkap exception, tabel berikut menunjukkan sejumlah pendekatan yang bisa dengan mudah digunakan untuk mendapatkan informasi yang relevan melibatkan exception:
Method | Deskripsi |
---|---|
getMessage() | Mengembalikan untai yang menjelaskan mengapa exception miliknya sendiri dilemparkan |
getPrevious() | Jika exception ini dipicu melalui exceptions tambahan, pendekatan ini mengembalikan exception baru-baru ini. Jika tidak, untuk alasan ini miliknya sendiri mengembalikan null |
getCode() | Mengembalikan kode exceptions |
getFile() | Mengembalikan jalan total file daerah exceptionsdilemparkan |
getLine() | Mengembalikan jumlah garis berasal dari garis kode yang memunculkan exceptions |
Contoh:
Keluaran informasi yang relevan melibatkan pembebasan yang dilemparkan:
<?php operate divide($dividend, $divisor) { if($divisor == 0) { throw new Exception("Division by zero", 1); } return $dividend / $divisor; } strive { echo divide(5, 0); } catch(Exception $ex) { $code = $ex->getCode(); $message = $ex->getMessage(); $file = $ex->getFile(); $line = $ex->getLine(); echo "Exception thrown in $file online $line: [Code $code] $message"; } ?> /*Output Exception thrown in /dwelling/TwT0ln/prog.php online 8: [Code 1] Division by zero */
Anda sederhana menonton: Exceptions di PHP – Kode dan Contohnya
Sumber: https://taylorswift10years.com
Kategori: Teknologi