iT邦幫忙

0

[php] \Exception 和 Exception的差別?

有時會看到catch裡是用Exception有時是\Exception,好像差異是在是否為命名空間?
請問有人有辨法解釋更清楚和舉例什麼時候該用什麼嗎?

1 個回答

4
fillano
iT邦超人 1 級 ‧ 2020-05-14 17:12:13
最佳解答

PHP內建的Exception定義在最上層,如果程式是在自己的namespace裡面,不使用\Exception就不會用到PHP內建的Exception類別。

<?php
namespace MyNamespace;

$err = test();
echo $err->getMessage();

function test() {
    return new Exception("Help");//會有錯誤:找不到MyNamespace\Exception類別
}

上例改成\Exception("Help")就能正常執行了。

wrxue iT邦研究生 3 級 ‧ 2020-05-14 17:26:12 檢舉

所以加了\就是代表用到當前namespace以外的,也就是php內建的Exception嗎

我要發表回答

立即登入回答