• 締切済み

PHP5でクラスを作成しています。

PHP5でクラスを作成しています。 コンストラクタの段階で論理エラーにしたくて、インスタンス値をnullにしたいです。 つまり直ちにプログラムを止めずに、クラスの生成(インスタンス化)を失敗させる 方法を__construct()関数内でどのように書けば良いのでしょうか? class Sample { function __construct() { // この中で処理の異常が発生! // インスタンス作成を失敗させる or インスタンス値をヌルにする。 //? //?どのように書けば?? //? } } $a = new Sample(); if ($a === null) { printf("正しくインスタンスの生成ができませんでした。"); } よろしくお願いします。

みんなの回答

回答No.1

基本的にそのような方法は、ないです。 ただ、PHP5で目的を果たすなら、 Exceptionと、try/catch構文を使えば良いと想います。 class Sample{ public function __construct(){ //直ちにエラー throw new Exception("正しくインスタンスの生成ができませんでした。"); } } try{ $a = new Sample(); }catch(Exception $e){ echo $e->getMessage(); }

関連するQ&A