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