En PHP, l'instruction try catch combinée au mot-clé throw peut être utilisée pour intercepter les exceptions dans le programme. Les exceptions générées dans le code du programme peuvent être levées par l'instruction try throw et capturées par l'instruction catch ; //code} catch(Exception $e){//Erreur de sortie}".
L'environnement d'exploitation de ce tutoriel : système Windows 7, PHP version 7.1, ordinateur DELL G3
En PHP, si vous souhaitez intercepter des exceptions dans le programme, vous devez utiliser l'instruction try catch et la commande throw mot-clé pour y parvenir. L'instruction try catch est similaire à l'instruction de contrôle de flux, vous pouvez donc utiliser l'instruction try catch pour implémenter une structure de sélection conditionnelle alternative, et le mot clé throw peut lever une exception. Le format syntaxique de l'instruction try catch est le suivant :
try{ // 可能出现异常或错误的代码,比如文件操作、数据库操作等 }catch(Exception $e){ // $e 为一个异常类的对象 // 输出错误信息 }
Le code qui nécessite la gestion des exceptions doit être placé dans le bloc de code try afin d'intercepter d'éventuelles exceptions. Chaque essai doit avoir au moins une capture correspondante. Utilisez plusieurs captures pour intercepter les exceptions générées par différentes classes.
Lorsque le bloc de code try ne génère plus d'exception ou qu'aucun catch ne peut être trouvé pour correspondre à l'exception lancée, le code PHP poursuivra son exécution après être passé au dernier catch.
Les exceptions générées dans le code PHP peuvent être levées par des instructions throw et interceptées par des instructions catch. Bien entendu, PHP permet de relancer des exceptions dans les blocs catch.
Lorsqu'une exception est levée, le code suivant ne continuera pas à s'exécuter et PHP tentera de continuer à trouver le premier catch correspondant. Si une exception n'est pas interceptée et n'est pas gérée en conséquence à l'aide de set_exception_handler(), une erreur grave se produira et le message UncaughtException... sera généré.
【Exemple】Utilisez try catch et throw pour intercepter les exceptions dans le programme.
<?php try{ $err = '抛出异常信息,并跳出 try 语句块'; if(is_dir('./test')){ echo '这里是一些可能会发生异常的代码'; }else{ throw new Exception($err, 12345); // 抛出异常 } echo '上面抛出异常的话,这行代码将不会执行,转而执行 catch 中的代码。<br>'; }catch(Exception $e){ echo '捕获异常:'.$e->getMessage().'<br>错误代码:'.$e->getCode().'<br>'; } echo '继续执行 try catch 语句之外的代码'; ?>
Les résultats d'exécution sont les suivants :
捕获异常:抛出异常信息,并跳出 try 语句块 错误代码:12345 继续执行 try catch 语句之外的代码
Dans l'exemple de code, dans le bloc d'instruction try, essayez de déterminer s'il existe un répertoire nommé test dans le répertoire courant. Si ce répertoire n'existe pas, alors le code est activé. la ligne 7 sera exécutée. Le mot-clé throw lève une exception. Cette exception est un objet de la classe Exception, généré via le mot-clé new, et l'objet est initialisé avec le message d'erreur $err et le code d'erreur 12345, afin que ces informations puissent être obtenues lorsque l'exception est interceptée ultérieurement (ligne 11 du code).
Une fois qu'une exception est levée, le code restant dans le bloc d'instruction try ne continuera plus à s'exécuter. Le flux du programme sera transféré vers le bloc d'instruction catch correspondant pour exécution, et enfin les informations d'erreur et le code seront affichés en appelant. sa fonction membre via l’objet Exception.
Apprentissage recommandé : "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!