Utilisation de try catch en PHP

little bottle
Libérer: 2023-04-05 21:14:01
avant
10819 Les gens l'ont consulté

1.try catch peut intercepter les exceptions levées par la couche supérieure

2.finally est un bloc qui finira par être exécuté, que try ou catch ait un retour

3.try peut également être utilisé pour intercepter l'exception de lancement dans la classe de fonction de rappel call_user_func_array

4. call_user_func_array ne peut appeler que la méthode statique de la classe, et vous pouvez créer un nouvel objet dans cette méthode statique

5. Sans rien personnaliser Dans le cas des fonctions de gestion des erreurs, try ne peut pas capturer les erreurs dans PHP lui-même, y compris les erreurs d'avertissement et d'autres niveaux

Le code suivant fait partie du projet, qui a traversé plusieurs couches d'appels et de rappels


<?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){}
Copier après la connexion

[Recommandation du cours : Tutoriel vidéo PHP] 

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
php
source:cnblogs.com
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!