我想要一种更简洁的方式来获得以下功能,在一个块中捕获AError和BError:
try
{
/* something */
}
catch( AError, BError $e )
{
handler1( $e )
}
catch( Exception $e )
{
handler2( $e )
}有没有办法做到这一点?或者我必须单独捕获它们?
AError和Berror有一个共享的基类,但它们也与其他类型共享它,我希望通过handler2来实现,所以我不能只捕获基类。
发布于 2020-10-02 00:27:04
从PHP8.0开始,当您不需要输出错误的内容(从变量$e)时,您可以使用更简洁的方法来捕获异常。但是,您必须用Throwable替换默认的Exception。
try {
/* something */
} catch (AError | BError) {
handler1()
} catch (Throwable) {
handler2()
}https://stackoverflow.com/questions/8439581
复制相似问题