php中error与exception的区别及应用

yipeiwu_com6年前PHP代码库

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

java中的Object继承结构如下:

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

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

if(mysql_connect('127.0.0.1','root','321321'))
{
   echo '连接数据库成功';
   // other code...
}
else
{
   echo '连接数据库错误';
   return false;
}

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

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使用CURL模拟登录的方法

网上的很多模拟登录程序,大都是通过服务程序apache之类的运行,获取到验证码之后显示在网页上,然后填上再POST出去,这样虽然看起来很友 好,但是既然模拟登录,登录后所干的事情就不一定...

PHP中数组合并的两种方法及区别介绍

PHP数组合并两种方法及区别 如果是关联数组,如下: 复制代码 代码如下: $a = array( 'where' => 'uid=1', 'order' => 'uid',...

详解php协程知识点

多任务 (并行和并发) 在讲协程之前,先谈谈多进程、多线程、并行和并发。 对于单核处理器,多进程实现多任务的原理是让操作系统给一个任务每次分配一定的 CPU 时间片,然后中断、让下一个...

PHP简单选择排序(Simple Selection Sort)算法学习

本文实例为大家分享了PHP简单选择排序的具体代码,供大家参考,具体内容如下 基本思想: 通过 n - i 次关键字间的比较,从 n - i + 1 个记录中选出关键字最小的记录,并和第...

php打开本地exe程序,js打开本地exe应用程序,并传递相关参数方法

实例如下: <? //include_once("inc/auth.inc.php"); include_once("inc/conn.php"); $HTML_PAG...