Pourquoi devons-nous utiliser des codes d'exception PHP ? Quels sont les scénarios d'utilisation du code d'exception PHP ?
P粉476547076
2023-08-24 12:31:44
<p>D'accord, c'est une question très stupide pour beaucoup de gens, mais j'espère obtenir une réponse massive :)</p>
<p>Lorsque je lance une exception en PHP, je peux ajouter un code au message. </p><p>
J'attrape l'exception et la gère en fonction de son type (comme <code>InvalidArgumentException</code> ou <code>OutOfBoundException</code>). J'enregistre le message <strong></strong> ou je l'affiche, ou je le gère de manière appropriée. </p><p>
Je peux également joindre une exception précédente pour retracer le chemin d'origine de l'erreur. </p>
<p>Cependant, il y a une chose que je n’ai jamais utilisée ni envisagée : quelle est l’utilité du code ? </p>
<p>Par exemple : </p>
<pre class="brush:php;toolbar:false;">lancer une nouvelle exception("db Error", $code, $previousException);</pre>
<p>Que dois-je faire avec <code>$code</code> ? </p>
Comment interpréter la valeur de
$code
取决于异常类型。例如,如果你有一个表示MySQL数据库错误的Exception
子类,那么$code
可能是原生的MySQL错误代码。在低级IO错误的情况下,这可能是来自<errno.h>
.Fondamentalement,
$code
应该包含你需要以编程方式处理异常的内容。大多数异常都应该在某个地方进行处理。如果你的所有异常只是显示为错误,那么$code
n'est utile que si vous devez inclure des codes d'erreur provenant d'une bibliothèque cliente comme MySQL.Le message est destiné à être affiché à l'utilisateur, tandis que le code est destiné à être utilisé par votre programme. Ainsi, par exemple, dans votre exemple « Erreur de base de données », vous pourriez écrire un ensemble de code comme celui-ci :
Utilisez ensuite le code correspondant. Lorsque d’autres parties du code rencontrent une exception, elles sauront ce qui s’est passé et pourront peut-être la gérer intelligemment.