2003-03-04 00:44:38 +08:00
|
|
|
--TEST--
|
|
|
|
ZE2 errors caught as exceptions
|
|
|
|
--SKIPIF--
|
|
|
|
<?php if (version_compare(zend_version(), '2.0.0-dev', '<')) die('skip ZendEngine 2 needed'); ?>
|
|
|
|
--FILE--
|
|
|
|
<?php
|
|
|
|
|
2004-02-12 20:37:04 +08:00
|
|
|
class MyException extends Exception {
|
2003-03-04 00:44:38 +08:00
|
|
|
function MyException($_errno, $_errmsg) {
|
|
|
|
$this->errno = $_errno;
|
|
|
|
$this->errmsg = $_errmsg;
|
|
|
|
}
|
|
|
|
|
|
|
|
function getErrno() {
|
|
|
|
return $this->errno;
|
|
|
|
}
|
|
|
|
|
|
|
|
function getErrmsg() {
|
|
|
|
return $this->errmsg;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
function ErrorsToExceptions($errno, $errmsg) {
|
|
|
|
throw new MyException($errno, $errmsg);
|
|
|
|
}
|
|
|
|
|
|
|
|
set_error_handler("ErrorsToExceptions");
|
|
|
|
|
|
|
|
// make sure it isn't catching exceptions that weren't
|
|
|
|
// thrown...
|
|
|
|
|
|
|
|
try {
|
|
|
|
} catch (MyException $exception) {
|
|
|
|
echo "There was an exception: " . $exception->getErrno() . ", '" . $exception->getErrmsg() . "'\n";
|
|
|
|
}
|
|
|
|
|
|
|
|
try {
|
|
|
|
trigger_error("I will become an exception", E_USER_ERROR);
|
|
|
|
} catch (MyException $exception) {
|
|
|
|
echo "There was an exception: " . $exception->getErrno() . ", '" . $exception->getErrmsg() . "'\n";
|
|
|
|
}
|
|
|
|
|
|
|
|
?>
|
|
|
|
--EXPECT--
|
|
|
|
There was an exception: 256, 'I will become an exception'
|