Comment gérer les erreurs et les exceptions en php
En PHP, vous pouvez utiliser diverses fonctions membres intégrées dans la classe de gestion des exceptions « Exception » pour obtenir et renvoyer des données d'exception. Par exemple, la fonction getMessage() peut renvoyer le contenu du message d'exception ; try catch" et le mot-clé "throw" pour intercepter les exceptions dans le programme.
L'environnement d'exploitation de ce tutoriel : système Windows 7, PHP version 7.1, ordinateur DELL G3
Classe de gestion des exceptions en PHP
PHP fournit une classe de gestion des exceptions intégrée - Exception, dans cette classe Les fonctions membres couramment utilisées sont les suivantes :
getMessage() : renvoie le contenu du message de l'exception ;
getCode() : renvoie le code de l'exception sous forme numérique ; fichier où l'exception s'est produite Nom ;
getLine() : renvoie le numéro de la ligne de code où l'erreur s'est produite ;
getTrace() : renvoie le tableau backtrace() ; fonction qui a été formatée en chaîne. Informations générées par la fonction getTrace() ;
__toString() : génère des informations de chaîne d'exception, qui peuvent être surchargées. Notez que la fonction est précédée de deux traits de soulignement.
-
Le code suivant est le code complet de la classe Exception. À partir de la définition de cette classe, nous pouvons voir quelles propriétés et méthodes (fonctions membres) sont accessibles et héritées dans les sous-classes dérivées de l'utilisateur.
Exception { /* 属性 */ protected string $message ; protected int $code ; protected string $file ; protected int $line ; /* 方法 */ public __construct ([ string $message = "" [, int $code = 0 [, Throwable $previous = NULL ]]] ) final public getMessage ( void ) : string final public getPrevious ( void ) : Throwable final public getCode ( void ) : int final public getFile ( void ) : string final public getLine ( void ) : int final public getTrace ( void ) : array final public getTraceAsString ( void ) : string public __toString ( void ) : string final private __clone ( void ) : void }
Copier après la connexion - Attrapez les exceptions dans le programme En PHP, si vous souhaitez intercepter les exceptions dans le programme, vous devez utiliser l'instruction try catch et le mot-clé throw 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!

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Sujets chauds

Dans ce chapitre, nous comprendrons les variables d'environnement, la configuration générale, la configuration de la base de données et la configuration de la messagerie dans CakePHP.

PHP 8.4 apporte plusieurs nouvelles fonctionnalités, améliorations de sécurité et de performances avec une bonne quantité de dépréciations et de suppressions de fonctionnalités. Ce guide explique comment installer PHP 8.4 ou mettre à niveau vers PHP 8.4 sur Ubuntu, Debian ou leurs dérivés. Bien qu'il soit possible de compiler PHP à partir des sources, son installation à partir d'un référentiel APT comme expliqué ci-dessous est souvent plus rapide et plus sécurisée car ces référentiels fourniront les dernières corrections de bogues et mises à jour de sécurité à l'avenir.

Pour travailler avec la date et l'heure dans cakephp4, nous allons utiliser la classe FrozenTime disponible.

Pour travailler sur le téléchargement de fichiers, nous allons utiliser l'assistant de formulaire. Voici un exemple de téléchargement de fichiers.

Dans ce chapitre, nous allons apprendre les sujets suivants liés au routage ?

CakePHP est un framework open source pour PHP. Il vise à faciliter grandement le développement, le déploiement et la maintenance d'applications. CakePHP est basé sur une architecture de type MVC à la fois puissante et facile à appréhender. Modèles, vues et contrôleurs gu

Visual Studio Code, également connu sous le nom de VS Code, est un éditeur de code source gratuit – ou environnement de développement intégré (IDE) – disponible pour tous les principaux systèmes d'exploitation. Avec une large collection d'extensions pour de nombreux langages de programmation, VS Code peut être c

Le validateur peut être créé en ajoutant les deux lignes suivantes dans le contrôleur.
