[英]Exceptions don't bubble through instances in PHP?
我收到有關我的類的__toString()
方法中引發的異常的錯誤,即使其中存在try...catch()
。 我做了一些跟蹤下來,事實證明我的實例中的對象在其被拋出異常__toString()
這意味着它沒有被包含類趕一網打盡!
我寫了一些測試代碼作為演示:
class test {
public function __toString() {
try {
$b = new b();
echo (string)$b;
} catch (exception $e) {
return (string)$e;
}
}
}
class b {
public function __toString() {
throw new Exception ("test");
}
}
$test = new test();
echo $test;
我以為異常總是在代碼中“冒泡”,直到異常被捕獲或完全消除。
有什么解決方法嗎? 我班上的實例來自圖書館。 我不知道我是否可以對其進行可維護的修改,使其在自己的__toString()
得到捕獲。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.