溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

try catch在PHP中如何使用

發布時間:2020-07-21 09:36:22 來源:億速云 閱讀:174 作者:Leah 欄目:編程語言

本篇文章為大家展示了try catch在PHP中如何使用,代碼簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細介紹希望你能有所收獲。

  1.try catch可以捕獲上一層throw的異常

2.finally是不管try或者catch任何一塊有return, 最終都會執行的塊

3.try也是可以捕獲到call_user_func_array回調函數類內部的throw的異常

4.call_user_func_array只能回調類的靜態方法,可以在這個靜態方法中進行new對象

5.在不自定義任何錯誤處理函數的情況下,try是不能捕獲php本身的錯誤的,包括notice warning error等級別

下面的代碼是項目中的一個部分,經過了多層調用和回調

<?php
class Oss {
    public static function connect() {
    	throw new Exception("oss connect error");
    	return 'oss object';
    }
}
//調用三層
class S3{
	public static function connect() {
		//throw new Exception("s3 connect error");
    	return 's3 object';
    }
}
//調用二層
function callReader($class,$url){
	try{
		$conn=call_user_func_array(array($class, "connect"),array());
		return $conn;
	}catch(Exception $e){
		throw $e;	
	}finally{
		//無論如何都會執行,在這記錄日志
	}
}
//調用一層
function getMessage(){
	$conn=null;
	try {
	    $conn=callReader('Oss',"http://xxxx");
	} catch (Exception $e1) {
		$conn=callReader('S3',"http://xxxx");
	}
	return $conn;
}
//最先的入口
try{
	var_dump(getMessage());
}catch(Exception $e){}

上述內容就是try catch在PHP中如何使用,你們學到知識或技能了嗎?如果還想學到更多技能或者豐富自己的知識儲備,歡迎關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女