異常處理-PHP手冊筆記
原文:異常處理 – PHP手冊筆記
PHP程式碼中所產生的異常可被throw
語句丟擲,並被catch
語句捕獲。需要進行異常處理的程式碼都必須放入try
程式碼塊內,每一個try
至少要有一個與之對應的catch
。當一個異常被丟擲時,所在程式碼塊後面的程式碼將不會繼續執行,此時PHP會嘗試查詢第一個能與之匹配的catch
。當然,PHP允許在catch
程式碼塊內再次丟擲throw
異常。如果一個異常沒有被捕獲,且未使用set_exception_handler()
作相應處理的話,PHP將會產生一個嚴重錯誤。
這裡有一個關於異常使用的示例。
<?php
function inverse($x) {
if(!$x) {
throw new Exception(`Division by zero.`);
} else {
return 1 / $x;
}
}
try {
echo inverse(5) . `<br>`;
echo inverse(0) . `<br>`;
} catch(Exception $e) {
echo `Caught exception: ` . $e->getMessage() . `<br>`;
}
echo `hello`;
還有一個異常巢狀的示例。
<?php
class MyException extends Exception {}
class Test {
public function testing() {
try {
try {
throw new MyException(`foo.`);
} catch(MyException $e) {
throw $e;
}
} catch(Exception $e) {
var_dump($e->getMessage());
}
}
}
$foo = new Test;
$foo->testing();
使用者可以用自定義的異常處理類來擴充套件PHP內建的異常處理類。
(全文完)
相關文章
- java異常處理筆記Java筆記
- PHP 核心 - 異常處理PHP
- swoft 學習筆記之異常處理筆記
- 筆記:異常處理之report與render筆記
- PHP基礎:異常處理ExceptionPHPException
- Java中的異常處理(隨堂筆記)Java筆記
- SpringMVC學習筆記10-異常處理SpringMVC筆記
- Django筆記三十一之全域性異常處理Django筆記
- php錯誤與異常處理方法PHP
- 異常篇——異常處理
- 記錄Laravel異常處理類Laravel
- 異常處理
- 異常處理 - Go 學習記錄Go
- JSP 異常處理如何處理?JS
- 異常-throws的方式處理異常
- React 異常處理React
- JS異常處理JS
- oracle異常處理Oracle
- Python——異常處理Python
- Python異常處理Python
- ThinkPHP 異常處理PHP
- JavaScript 異常處理JavaScript
- JAVA 異常處理Java
- 異常的處理
- golang - 異常處理Golang
- 異常處理2
- 異常處理1
- Java 異常處理Java
- Abp 異常處理
- JAVA異常處理Java
- 08、異常處理
- SpringMVC異常處理SpringMVC
- 異常處理機制(二)之異常處理與捕獲
- Java 異常表與異常處理原理Java
- restframework 異常處理及自定義異常RESTFramework
- springboot下新增全域性異常處理和自定義異常處理Spring Boot
- Python零基礎學習筆記(二十八)——異常處理Python筆記
- C++語言程式設計筆記 - 第12章 - 異常處理C++程式設計筆記
- NodeJS之異常處理NodeJS