gpt4 book ai didi

php - 有人可以解释我这个异常(exception)是如何工作的吗?

转载 作者:行者123 更新时间:2023-12-04 07:19:52 25 4
gpt4 key购买 nike

我在互联网上发现了一个关于异常和错误的非常有趣的问题,但我无法理解。

class MyException extends Exception {
public function __construct(string $message) {
$this -> message = $message;
}
}

class A {
public function __construct() {
throw new MyException("an error appeared");
}
}

$err = null;
try {
new A();
}
catch (MyException $err) {
throw new Exception('another error appeared');
}
catch (Exception $err) {
echo $err;
}
当我执行收到的代码时
Fatal error: Uncaught Exception: another error appeared in C:\xampp
我不明白这是代码的问题还是它实际上是如何工作的。也许你可以帮助我。
那个 fatal error 是针对未处理的异常的?
谢谢!

最佳答案

第二个catch block 没有捕获第一个 catch 中抛出的异常堵塞。它只能用于捕获第一个 try 中抛出的其他类型的异常。堵塞。
要捕获第二个异常,您需要添加嵌套的 try catch:

try {
new A();
}
catch (MyException $err) {
try {
throw new Exception('another error appeared');
}
catch (Exception $err) {
echo $err;
}
}

关于php - 有人可以解释我这个异常(exception)是如何工作的吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68572820/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com