• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:継承クラスで定義したメソッドのtry-catch文)

継承クラスで定義したメソッドのtry-catch文

このQ&Aのポイント
  • 継承クラスで定義したメソッドのtry-catch文について
  • 親クラスで、子クラスで実装されたメソッドのExceptionをキャッチする方法
  • 問題が発生しているコードとその修正方法

質問者が選んだベストアンサー

  • ベストアンサー
  • t_ohta
  • ベストアンサー率38% (5238/13705)
回答No.1

細々とSyntax Errorが出るのはコピペミスでしょうか。 私の所で動かすと int(1) と出力されるので class A の中でキャッチ出来てるようですが。 以下、Syntax Error修正ソースです。 abstract class A { public function __construct() { try{ $this->testA(); }catch(Exception $e){ var_dump(1);// こっちが動いた } } abstract function testA(); } class B extends A { function testA(){ throw new Exception('test',1); } } try{ new B; }catch(Exception $e){ var_dump(2); }

t_netbug
質問者

お礼

ありがとうございます。 実際は結構長いソースでしたので、大まかな枠組みだけを記述していました。 書いたソースにはnew が抜けていましたね。 あと、、、散々ハマった結果、ソースを見直した所 abstract class A { public function __construct(){ try{ $this->testA(); }catch( Exceotion $e ){ // ← ここがこんな風にスペルミスしてました。 } } } お恥ずかしい質問をしてしまいました。。。

関連するQ&A