Comment intercepter et gérer les exceptions personnalisées en PHP ?

PHPz
Libérer: 2024-05-09 22:00:03
original
1184 Les gens l'ont consulté

Comment intercepter et gérer les exceptions personnalisées en PHP : héritez de la classe Exception pour créer des exceptions personnalisées. Utilisez le mot-clé throw pour lancer une exception personnalisée. Utilisez les blocs try, catch et enfin pour intercepter et gérer les exceptions.

如何在 PHP 中捕获和处理自定义异常?

Comment intercepter et gérer les exceptions personnalisées en PHP

Introduction
La gestion des exceptions en PHP est essentielle pour créer des applications robustes et maintenables. Les exceptions personnalisées vous permettent de créer des exceptions adaptées à des erreurs spécifiques ou à des situations inhabituelles dans votre code. Cet article vous expliquera comment détecter et gérer les exceptions personnalisées et fournira un cas pratique pour démontrer son utilisation.

Créer des exceptions personnalisées
Pour créer une exception personnalisée, héritez de la classe intégrée Exception à l'aide du mot-clé extends et définissez un constructeur pour recevoir le message d'erreur et facultatif code d'exception : extends 关键字继承内置的 Exception 类,并定义一个构造函数来接收错误消息和可选的异常代码:

class MyCustomException extends Exception
{
    public function __construct($message, $code = 0)
    {
        parent::__construct($message, $code);
    }
}
Copier après la connexion

抛出自定义异常
当在代码中遇到需要抛出自定义异常的情况时,请使用 throw 关键字,后跟自定义异常类的实例:

throw new MyCustomException("错误消息");
Copier après la connexion

捕获和处理异常
使用 trycatchfinally 块来捕获和处理异常:

try {
    // 代码可能会抛出异常
} catch (MyCustomException $e) {
    // 处理 MyCustomException 异常
} catch (Exception $e) {
    // 处理所有其他异常
} finally {
    //无论是否抛出异常都会执行此块
}
Copier après la connexion

实战案例
考虑一个简单的数学函数,它计算两个数字之和。如果其中任一数字为负数,则抛出 NegativeNumberException 异常:

NegativeNumberException 类:

class NegativeNumberException extends MyCustomException
{
    public function __construct($message = "不能对负数求和")
    {
        parent::__construct($message);
    }
}
Copier après la connexion

数学函数:

function sum($a, $b)
{
    if ($a < 0 || $b < 0) {
        throw new NegativeNumberException();
    }

    return $a + $b;
}
Copier après la connexion

使用:

try {
    $result = sum(-1, 2);
} catch (NegativeNumberException $e) {
    echo $e->getMessage();
} catch (Exception $e) {
    echo $e->getMessage();
}
Copier après la connexion

输出:

不能对负数求和
Copier après la connexion

结论
在 PHP 中捕获和处理自定义异常对构建健壮可靠的应用程序至关重要。通过继承 Exception 类并使用 trycatchfinallyrrreee

🎜Lancez une exception personnalisée🎜🎜Lorsque vous rencontrez une situation dans le code qui nécessite de lever une exception personnalisée, veuillez utiliser le mot-clé throw, suivi de l'exception personnalisée Instances de classes : 🎜rrreee🎜🎜Capturer et gérer les exceptions🎜🎜Utilisez les blocs try, catch et finally pour capturer et gérer les exceptions : 🎜rrreee 🎜🎜Pratique Cas🎜🎜Considérons une fonction mathématique simple qui calcule la somme de deux nombres. Si l'un des nombres est négatif, NegativeNumberException est levée. Exception : 🎜🎜🎜NegativeNumberException Classe : 🎜🎜rrreee🎜🎜Fonctions mathématiques : 🎜🎜rrreee🎜🎜Utilisation : 🎜🎜rrreee🎜🎜Sortie : 🎜 🎜rrreee🎜 🎜Conclusion🎜🎜La capture et la gestion des exceptions personnalisées en PHP sont cruciales pour créer des applications robustes et fiables. Vous pouvez créer des erreurs spécifiques à votre code en héritant de la classe Exception et en utilisant try, catch et finally bloque les stratégies de traitement. 🎜

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:
source:php.cn
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
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!