Warum müssen wir PHP-Ausnahmecodes verwenden? Was sind die Verwendungsszenarien von PHP-Ausnahmecode?
P粉476547076
2023-08-24 12:31:44
<p>Okay, das ist für viele eine sehr dumme Frage, aber ich hoffe auf eine überwältigende Antwort :)</p>
<p>Wenn ich in PHP eine Ausnahme auslöse, kann ich der Nachricht einen Code hinzufügen. </p><p>
Ich fange die Ausnahme ab und behandle sie basierend auf ihrem Typ (wie <code>InvalidArgumentException</code> oder <code>OutOfBoundException</code>). Ich protokolliere die <strong>Nachricht</strong> oder zeige sie an oder gehe anderweitig angemessen damit um. </p><p>
Ich kann auch eine vorherige Ausnahme anhängen, um den Ursprungspfad des Fehlers zu verfolgen. </p>
<p>Es gibt jedoch eine Sache, die ich nie verwendet oder in Betracht gezogen habe: Wie nützlich ist der Code? </p>
<p>Zum Beispiel: </p>
<pre class="brush:php;toolbar:false;">throw new Exception("db Error", $code, $ previousException);</pre>
<p>Was soll ich mit <code>$code</code> machen? </p>
如何解释
$code
取决于异常类型。例如,如果你有一个表示MySQL数据库错误的Exception
子类,那么$code
可能是原生的MySQL错误代码。在低级IO错误的情况下,这可能是来自<errno.h>
的值。基本上,
$code
应该包含你需要以编程方式处理异常的内容。大多数异常都应该在某个地方进行处理。如果你的所有异常只是显示为错误,那么$code
只有在你需要包含来自类似MySQL客户端库的错误代码时才有用。这条消息是用于向用户展示的,而代码则是供您的程序使用的。所以例如,在您的“数据库错误”示例中,您可以编写一组代码,如下:
然后使用相应的代码。当代码的其他部分遇到异常时,它们将知道发生了什么,并可能能够智能地处理它。