PHP での try catch の使用

little bottle
リリース: 2023-04-05 21:14:01
転載
10847 人が閲覧しました

1.try catch は、上位層によってスローされた例外をキャプチャできます。

2.finally は、try または catch にリターン ブロックがあるかどうかに関係なく、最終的に実行されるブロックです。

3 .try も使用できます call_user_func_array コールバック関数クラス

#4 内でスロー例外をキャッチします。call_user_func_array はクラスの静的メソッドのみを呼び出すことができ、この静的メソッドで新しいオブジェクトを作成できます

5. 何もカスタマイズしない場合、エラー処理関数の場合、通知警告エラーやその他のレベルを含む、PHP 自体のエラーをキャプチャできません。

次のコードはプロジェクトの一部です。呼び出しとコールバックの複数の層を介して


<?php
class Oss {
    public static function connect() {
    	throw new Exception("oss connect error");
    	return &#39;oss object&#39;;
    }
}
//调用三层
class S3{
	public static function connect() {
		//throw new Exception("s3 connect error");
    	return &#39;s3 object&#39;;
    }
}
//调用二层
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(&#39;Oss&#39;,"http://xxxx");
	} catch (Exception $e1) {
		$conn=callReader(&#39;S3&#39;,"http://xxxx");
	}
	return $conn;
}
//最先的入口
try{
	var_dump(getMessage());
}catch(Exception $e){}
ログイン後にコピー

【推奨コース:

PHP ビデオ チュートリアル

以上がPHP での try catch の使用の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
php
ソース:cnblogs.com
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート