php代码中所产生的异常可被throw语句抛出,并被catch语句捕获。需要进行异常处理的代码都必须放入try代码块内,每一个try至少要有一个与之对应的catch。当一个异常被抛出时,所在代码块后面的代码将不会继续执行,此时php会尝试查找第一个能与之匹配的catch。当然,php允许在catch代码块内再次抛出throw异常。如果一个异常没有被捕获,且未使用set_exception_handler()作相应处理的话,php将会产生一个严重错误。
这里有一个关于异常使用的示例。
<code><?php
function inverse($x) {
if(!$x) {
throw new Exception('Division by zero.');
} else {
return 1 / $x;
}
}
try {
echo inverse(5) . '<br>';
echo inverse(0) . '<br>';
} catch(Exception $e) {
echo 'Caught exception: ' . $e->getMessage() . '<br>';
}
echo 'hello';</code>还有一个异常嵌套的示例。
<code><?php
class MyException extends Exception {}
class Test {
public function testing() {
try {
try {
throw new MyException('foo.');
} catch(MyException $e) {
throw $e;
}
} catch(Exception $e) {
var_dump($e->getMessage());
}
}
}
$foo = new Test;
$foo->testing();</code>用户可以用自定义的异常处理类来扩展PHP内置的异常处理类。
(全文完)
立即学习“PHP免费学习笔记(深入)”;
以上就介绍了异常处理 - PHP手册笔记,包括了方面的内容,希望对PHP教程有兴趣的朋友有所帮助。
PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号