سلام
مگه Throwable یک interface نیست؟ پس چجور ازش میتونیم توی بخش catch یک آبجکت بسازیم؟
سلام دوست عزیز
به کد زیر نگاه کنید خودتون متوجه دلیلش میشید!
به این دلیل که خطاها اینترفیس Throwable رو implement کردن!
class Hello extends Exception{ public function hi() { return $this; } } $name = new Hello(); if($name->hi() instanceof Throwable){ echo 'ok'; }
یعنی منظورتون اینه $e توی کد زیر یک کلاس از Throwable ایمپلیمنت میکنه و بعدش یک آبجکت ازش میسازه؟! :
function sum(int $a, int $b) { echo $a + $b; } try { sum(5); } catch(Throwable $e) { var_dump($e); }
هر چیزی که قابلیت پرتاب شدن داشته باشه!