php中error与exception的区别及应用

php中error与exception的区别及应用

这篇文章主要介绍了php中error与exception的区别及应用,需要的朋友可以参考下

error与exception的区别查阅网上资料大多是java的解释,貌似php的异常处理过程与java差不多

java中的Object继承结构如下:

Object---->Throwable--------> Exception ----> RuntimeException Error
Error都是unchecked类型 Exception分为checked 与 unchecked类型
且把异常与错误都当作程序运行不正常的现象来看待

如果区分异常与错误的话:
异常:非致命的。try{}catche(Exception e){} 执行中的try模块是测试运行,代码在运行过程中出现错误(非致命错误)执行catche
异常的作用类似于下面的这些代码:

?
1
2
3
4
5
6
7
8
9
10
if (mysql_connect( '127.0.0.1' , 'root' , '321321' ))
{
    echo '连接数据库成功' ;
    // other code...
}
else
{
    echo '连接数据库错误' ;
    return false;
}

使用异常处理的情况可以很轻松的处理异常情况。如下面的代码可以一次性处理很多的异常情况

?
1
2
3
4
5
6
7
try
{
     mysql_connect( '127.0.0.1' , 'root' , '321321' );
     // other code you want to execute
}catche(Exception $e ){
     print_r( $e );
}

错误致命的。一般都是程序语法错误或者用户级别的提示错误

错误与异常中都分为 checked与unchecked
checked 是可以让用户处理的,unchecked是不能被处理的
php中 Exception ,用户级别的错误可被用户处理 (client code) 其他的错误是不能被用户处理的
此外,java中还有个 RuntimeException 是不能被用户处理的。这个是运行级别的异常

你可能感兴趣的:(php中error与exception的区别及应用)