2013-02-16 14:22:22 +00:00
|
|
|
--TEST--
|
|
|
|
Exceptions before fatal error
|
|
|
|
--FILE--
|
|
|
|
<?php
|
|
|
|
function exception_error_handler($code, $msg) {
|
|
|
|
throw new Exception($msg);
|
|
|
|
}
|
|
|
|
|
|
|
|
set_error_handler("exception_error_handler");
|
|
|
|
|
|
|
|
try {
|
|
|
|
$foo->a();
|
2015-05-16 21:49:14 +00:00
|
|
|
} catch(Throwable $e) {
|
2013-02-16 14:22:22 +00:00
|
|
|
var_dump($e->getMessage());
|
|
|
|
}
|
|
|
|
|
|
|
|
try {
|
|
|
|
new $foo();
|
2015-05-16 21:49:14 +00:00
|
|
|
} catch(Throwable $e) {
|
2013-02-16 14:22:22 +00:00
|
|
|
var_dump($e->getMessage());
|
|
|
|
}
|
|
|
|
|
|
|
|
try {
|
|
|
|
throw $foo;
|
2015-05-16 21:49:14 +00:00
|
|
|
} catch(Throwable $e) {
|
2013-02-16 14:22:22 +00:00
|
|
|
var_dump($e->getMessage());
|
|
|
|
}
|
|
|
|
|
|
|
|
try {
|
|
|
|
$foo();
|
2015-05-16 21:49:14 +00:00
|
|
|
} catch(Throwable $e) {
|
2013-02-16 14:22:22 +00:00
|
|
|
var_dump($e->getMessage());
|
|
|
|
}
|
|
|
|
|
|
|
|
try {
|
|
|
|
$foo::b();
|
2015-05-16 21:49:14 +00:00
|
|
|
} catch(Throwable $e) {
|
2013-02-16 14:22:22 +00:00
|
|
|
var_dump($e->getMessage());
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
try {
|
|
|
|
$b = clone $foo;
|
2015-05-16 21:49:14 +00:00
|
|
|
} catch(Throwable $e) {
|
2013-02-16 14:22:22 +00:00
|
|
|
var_dump($e->getMessage());
|
|
|
|
}
|
|
|
|
|
|
|
|
class b {
|
|
|
|
}
|
|
|
|
|
|
|
|
try {
|
|
|
|
b::$foo();
|
2015-05-16 21:49:14 +00:00
|
|
|
} catch(Throwable $e) {
|
2013-02-16 14:22:22 +00:00
|
|
|
var_dump($e->getMessage());
|
|
|
|
}
|
|
|
|
?>
|
|
|
|
--EXPECT--
|
|
|
|
string(23) "Undefined variable: foo"
|
|
|
|
string(23) "Undefined variable: foo"
|
|
|
|
string(23) "Undefined variable: foo"
|
|
|
|
string(23) "Undefined variable: foo"
|
|
|
|
string(23) "Undefined variable: foo"
|
|
|
|
string(23) "Undefined variable: foo"
|
|
|
|
string(23) "Undefined variable: foo"
|