-
-
/** - * 例外処理クラスをカスタマイズする
- */
- class MyException extends Exception
- {
- // メッセージを指定する必要があるプロパティにするためにコンストラクターを再定義します
- public function __construct ( $message, $code = 0) {
- // カスタマイズされたコード
- // すべての変数が正しく割り当てられていることを確認します
- parent::__construct($message, $code);
- }
- // カスタマイズされた文字列出力スタイル
- public function __toString () {
- return __CLASS__ . ": [{$this->code}]: {$this->message}n";
- }
- }
* 例外処理メカニズムをテストするためのクラスを作成します - */
- class TestException
- {
- function __construct($str) {
- if($str == 1)
- throw new MyException('パラメータを 1 にすることはできません',1);
- elseif( $str == 2)
- throw new MyException('パラメータを 2 にすることはできません',2);//2 つの例外をスローします
- else
- echo $str;
- }
- }
try {
- $o = new TestException (2);
- } catch (MyException $e) { // 例外をキャッチ
- echo $e;
- }
- ?>
-
コードをコピー
|