- バックアップ一覧
- 差分 を表示
- 現在との差分 を表示
- ソース を表示
- PHP/例外/コンストラクタやデストラクタの中で例外をスロー へ行く。
- 1 (2012-01-18 (水) 19:01:08)
- 2 (2012-01-18 (水) 19:04:05)
コンストラクタやデストラクタの中で例外をスロー
コンストラクタで例外をスロー
<?php class Foo { function __construct() { throw new Exception('Error: __construct()'); } } try { $f = new Foo; print "OK\n"; } catch (Exception $e) { print $e->getMessage() . "\n"; }
Error: __construct()
OK。
デストラクタで例外をスロー
<?php class Bar { function __construct() { } function __destruct() { throw new Exception('Error: __destruct()'); } } try { $b = new Bar; print "OK\n"; } catch (Exception $e) { print $e->getMessage() . "\n"; }
OK PHP Fatal error: Uncaught exception 'Exception' with message 'Error: __destruct()' in /home/taro/tmp/1.php:18 Stack trace: #0 [internal function]: Bar->__destruct() #1 {main} thrown in /home/taro/tmp/1.php on line 18
ダメ。