PHP异常自定义消息

PHP异常自定义消息,php,exception,Php,Exception,我有一个包装PHP异常的抽象类: abstract class MyException extends Exception { public function __construct($message, $code = 0, Exception $previous = null) { parent::__construct($message, (int) $code, $previous); } } 我还有其他课程,比如: class UserE

我有一个包装PHP异常的抽象类:

abstract class MyException extends Exception
{

    public function __construct($message, $code = 0, Exception $previous = null)
    {   
        parent::__construct($message, (int) $code, $previous);
    }
}
我还有其他课程,比如:

class UserException extends MyException
{
    public function __toString()
    {
        return parent::getMessage();
    }
}
当尝试抛出一个错误时,执行
抛出新的UserException('用户不存在')

它不仅显示我定义的消息。它表明:

致命错误:未捕获的用户不存在,已抛出 \第69行的path\ClassTest.php

我如何摆脱“致命错误:未捕获…”部分

非常感谢

编辑:

我找到了答案,使用
set\u exception\u handler()
将覆盖未捕获的异常。并允许提供回调函数

生成“致命错误”部分,因为异常在try-catch语句外部抛出,最终被php错误处理程序捕获。未捕获的异常总是致命的

尝试用Try-catch语句包围生成异常的代码,如:

try{
    $foo->bar();
catch(UserException $ex){
    // Do something with the exception.
}
或者,您可以创建自己的错误处理程序-->


但是try-catch方法是“正确”的方法。

您发布的代码几乎不相关。你是不是包括了“捉迷藏”?阅读更多。另外,用谷歌搜索错误信息。你有没有在你需要的部分周围设置try/catch?你正在投掷而没有捕获,因此它是未捕获的。。。