File:
[ELWIX - Embedded LightWeight unIX -] /
embedaddon /
php /
tests /
classes /
destructor_and_exceptions.phpt
Revision
1.1.1.1 (vendor branch):
download - view:
text,
annotated -
select for diffs -
revision graph
Tue Feb 21 23:48:06 2012 UTC (12 years, 5 months ago) by
misho
Branches:
php,
MAIN
CVS tags:
v5_4_3elwix,
v5_4_29p0,
v5_4_29,
v5_4_20p0,
v5_4_20,
v5_4_17p0,
v5_4_17,
v5_3_10,
HEAD
php
1: --TEST--
2: ZE2 catch exception thrown in destructor
3: --FILE--
4: <?php
5:
6: class FailClass
7: {
8: public $fatal;
9:
10: function __destruct()
11: {
12: echo __METHOD__ . "\n";
13: throw new exception("FailClass");
14: echo "Done: " . __METHOD__ . "\n";
15: }
16: }
17:
18: try
19: {
20: $a = new FailClass;
21: unset($a);
22: }
23: catch(Exception $e)
24: {
25: echo "Caught: " . $e->getMessage() . "\n";
26: }
27:
28: class FatalException extends Exception
29: {
30: function __construct($what)
31: {
32: echo __METHOD__ . "\n";
33: $o = new FailClass;
34: unset($o);
35: echo "Done: " . __METHOD__ . "\n";
36: }
37: }
38:
39: try
40: {
41: throw new FatalException("Damn");
42: }
43: catch(Exception $e)
44: {
45: echo "Caught Exception: " . $e->getMessage() . "\n";
46: }
47: catch(FatalException $e)
48: {
49: echo "Caught FatalException: " . $e->getMessage() . "\n";
50: }
51:
52: ?>
53: ===DONE===
54: --EXPECTF--
55: FailClass::__destruct
56: Caught: FailClass
57: FatalException::__construct
58: FailClass::__destruct
59: Caught Exception: FailClass
60: ===DONE===
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>