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 tp验证表单与自动填充函数代码

复制代码 代码如下: <?php class FormModel extends Model { // 自动验证设置 /* * 一:自动验证 自动验证的定义是这样的:array(f...

基于preg_match_all采集后数据处理的一点心得笔记(编码转换和正则匹配)

1、使用curl实现站外采集 具体请参考我上一篇笔记:https://www.jb51.net/article/46432.htm 2、编码转换首先通过查看源代码找到采集的网站使用的编码...

PHP实现判断二叉树是否对称的方法

本文实例讲述了PHP实现判断二叉树是否对称的方法。分享给大家供大家参考,具体如下: 问题 请实现一个函数,用来判断一颗二叉树是不是对称的。注意,如果一个二叉树同此二叉树的镜像是同样的,定...

PHP设计模式之工厂方法设计模式实例分析

本文实例讲述了PHP设计模式之工厂方法设计模式。分享给大家供大家参考,具体如下: 一、什么是工厂方法模式 作为一种创建型设计模式,工厂方法模式就是要创建“某种东西”。对于工厂方法,要创建...

php常用ODBC函数集(详细)

ODBC连接类函数odbc_connect函数:打开一个ODBC连接odbc_close函数:关闭一个已经打开的ODBC连接odbc_close_all函数:关闭所有已经打开的ODBC连...