php中error与exception的区别及应用

yipeiwu_com7年前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可生成缩略图的文件上传类实例

本文实例讲述了php可生成缩略图的文件上传类及其用法。分享给大家供大家参考。具体实现方法如下: 类文件调用方法如下: 复制代码 代码如下:<?php if ($_GET[...

ob_start(),ob_start('ob_gzhandler')使用

输出前使用尽量使用 ob_start();可以加快输出速度,适用NT 对unix类服务器 如果使用ob_start('ob_gzhandler');输出效率将更高...

PHP生成plist数据的方法

本文实例讲述了PHP生成plist数据的方法。分享给大家供大家参考。具体如下: 这段代码实现PHP数组转换为苹果plist XML或文本格式 <?PHP /** *...

php include和require的区别深入解析

nclude()The include() 语句包括并运行指定文件。以下文档也适用于require()。这两种结构除了在如何处理失败之外完全一样。include() 产生一个警告而req...

php图片加水印原理(超简单的实例代码)

文字水印: 复制代码 代码如下: $w = 80; $h = 20; $im = imagecreatetruecolor($w,$h); $textcolor = imagecolor...