首页 > 后端开发 > 正文

php框架统一异常处理 70PHP错误处理方式:错误735的处理方法

2023-09-25 20:05:12 | 我爱编程网

我爱编程网小编给大家带来了php框架统一异常处理 70PHP错误处理方式:错误735的处理方法相关文章,一起来看一下吧。

php框架统一异常处理 70PHP错误处理方式:错误735的处理方法

PHP异常处理的一些问题

在java、python等语言中,异常对于我们来说已经是必不可少的错误处理方式。异常处理是面向对象编程中的一种很强大的特性,然而很多PHPer对它不了解,甚至认为它会破坏代码结构。即使在很多开源项目中,也难以见到异常的踪影。那么,PHP中的异常,到底有没有意义呢?

PHP有两种错误处理机制,一种是内置错误,一种是异常。

内置错误,包含error、warning、notice等错误类型。很多PHP的内置函数,和一些PHP扩展,都会使用这种类型的错误。此类错误的优势是处理起来比较方便。不重要的错误,可以通过配置php选项来忽略它。我们甚至可以通过set_error_handler()函数,来集中处理非致命的错误。但是,PHP的宽容往往会让程序员养成一个坏习惯,那就是在代码中留下大量warning、notice级别的错误。这样对程序的调试和后期维护带来很多不便。而且致命的错误(Fatal Error),是没有办法处理的。这也是PHP的一大硬伤。

在PHP中使用异常有以下优势:

一、异常能提高程序的健壮性。
在需要处理错误的场景,异常能让我们轻松掌控程序,采取相应的处理措施。并不是所有的异常都需要处理。在一些异常发生时,没有其他替代方案,这时我们可以记录一些错误日志,并让程序崩溃。在web应用里,我们可以给用户显示一个500错误页面来增强用户体验。一些PHP的开源库会提供大量的异常类型,这样会帮助我们快速找出代码错误,减少程序BUG。

二、异常处理能增强程序的可维护性。
函数应该有一系列的输入,并且有唯一的输出。在参数不正确、或者发生系统错误时,我们需要告知使用者发生了什么样的错误,便于使用者处理和记录。

利用返回值、引用变量来返回错误在PHP程序中很常见:
function foo($var) { if (!is_int($var)) { return array(-1, '参数1必须是整数'); } if ($var <= 0) { return array(-2, '参数1必须大于0'); } return $var;}  这样的函数使用非常不方便。使用者需要通过判断函数的返回值,来确保程序是否正常运行。额外的逻辑判断,会降低程序的可读性。

假如函数被修改为这样:
function foo($var) { if (!is_int($var)) { return array(-1, '参数1必须是整数'); } if ($var <= 0) { return array(-2, '参数1必须大于0'); } return array($var, '');}  这时你外层的判断逻辑就需要修改,是不是很麻烦?

使用异常,在执行失败时抛出异常,可以让函数的输出非常干净,避免额外的处理。减少了代码量,也增强了程序的可维护性。

三、使用异常有助于我们集中处理错误。
在程序抛出异常时,只要没有遇到try catch,异常会逐渐向函数调用堆栈顶层传递。这样我们不需要每一层都处理错误。我们可以在程序的入口处集中处理所有未处理的异常,有助于我们发现潜在的程序BUG。而一个只会返回正常处理结果和错误代码的函数,在其出错时不得不立即处理。如果我们想在代码顶层再处理这个错误,就不得不一层一层返回这个错误,给程序设计带来很多不便。

综上,我们应该尽量使用异常,保证程序的可靠性。

是否可以解决您的问题?

php框架统一异常处理 70PHP错误处理方式:错误735的处理方法我爱编程网

PHP异常处理的疑惑

SQL错误是捕获不了的,因为PHP只要成功的把SQL命令提交给了数据库服务器就算成功,至于数据库里面执行是否成功,必需在每个语句之后检测,例如:
$db=mysql_connect(...);
if (!$db){
echo '连接数据库失败,错误原因:'.mysql_error();
exit;
}
再如:
$sql='...';
$res=mysql_query($sql);
if (!$res){
echo '执行SQL语句错误,SQL语句:'.$sql.'<br>错误原因:'.mysql_error();
exit;
}

php框架统一异常处理 70PHP错误处理方式:错误735的处理方法

70PHP错误处理方式:错误735的处理方法

PHP错误处理方式

1.1 知识能力

php程序的错误(Errors)是指程序执行前解析(Parse)过程的错误,或解析(Parse)后执行程序时产生的错误,主要分为两种:

 环境错误(Environmental Errors):环境错误也称为外部错误(External Errors),这是指程序执行环境所导致的错误,并不是程序设计的问题。例如:没有权限无法写入档案,或档案不存在。

 程序错误(Programming Errors):程序错误是程序中的问题(Bugs),可能是语法错误(Syntax Errors)、语义错误或程序逻辑错误(Logical Errors)。 错误处理(Error Handling)是一种处理错误的机制,可以处理解析过程的语法和语义错误,或执行时的环境错误和程序错误中的逻辑错误。

PHP根据错误的严重程度,将错误分成不同的分类,包括:

 Parse Errors:剖析错误是指PHP程序代码的语法和语义错误,这是执行前,解析过程产生的错误。

 Fatal Errors:致命错误是很严重的执行时错误,它会导致PHP程序代码终止执行。

 Warnings:警告错误是一种尚能补救且非致命的执行时错误,PHP引擎会试图继续执行PHP程序代码。

 Notices:注意错误是一种小且非致命的错误,只是用来提醒程序代码可能出现的错误。例如:没有初始化变量。

每个分类又根据情况分成不同的等级(level),程序中可以根据需要,只报告特定等级的错误,例如,通常会把Notices等级的错误对用户屏蔽掉。

PHP的处理方式,包括以下几种手段:

 基本的错误处理方式有:

 不理会

 终止程序显示错误讯息

 写入日志文件

 使用自定义错误处理进行补救

PHP程序最简单的错误处理就是使用exit()或die()终止程序执行并显示一段错误信息。

exit()与die()并不是真正的函数,它是PHP的语言结构(Language Construct),例如:使用PHP的fopen()函数打开文件,如下所示:

$fp = fopen($filename,

这样,当打开文件发生错误的时候,将会打印一个错误信息,并且终止程序的执行。

1.2 职业素质 如果程序的代码缺少错误检测编码,那么程序看上去很不专业,也为安全风险敞开了大门。PHP错误处理有几个好处,在开发阶段:开发时输出所有的错误报告,有利于我们进行程序调试;在运行阶段:程序不会输出任何一种错误报告,以免用户看到。

1.3 开发流程

实例:文件错误。

第一步:定义文件变两个;

$filename =

第二步:打开文件,并进行错误处理。 $fp = fopen($filename, "r")

or exit(

1.4 项目拓展

PHP除了提供了错误处理方式以外,还提供了异常处理方式。同其他语言一样,PHP提供了异常处理机制,且机制与其他语言非常相似,有兴趣的读者可以自行开发比较。

以上就是我爱编程网小编给大家带来的php框架统一异常处理 70PHP错误处理方式:错误735的处理方法,希望能对大家有所帮助。
与“php框架统一异常处理 70PHP错误处理方式:错误735的处理方法”相关推荐
php异常处理框架 70PHP错误处理方式:错误735的处理方法
php异常处理框架 70PHP错误处理方式:错误735的处理方法

国外主流PHP框架对比评测最近简单的使用了目前在国内用的比较多的几个主流国外PHP框架(不包括国内框架)大致对这些框架有个直观上的感受简单分享一下对于哪些做框架选型的时候权当一个参考主要参考的框架包括CodeIgniterCakePHPZendFrameworkSymfony我对很多框架也没有认真使用只是简单试用了一下可能很多看法不成熟或者是错误的请大家指正一起成长CodeI

2023-09-11 14:14:34
错误处理php框架 php中的错误类型有哪些
错误处理php框架 php中的错误类型有哪些

ThinkPhp框架中使用mongodb数据库配置报错CalltoamemberfunctionselectCollection()onanon-objectTP3.1的解决方法就是如楼上所说,需要实例化mong数据库的模型。so有两种方式:直接在使用的方法内实例化MongoModel类;写一个model专门继承MongoModel,把需要连mongo的操作或方法

2023-09-17 01:12:23
php错误框架怎么处理 如何为PHP项目统一设置404页面
php错误框架怎么处理 如何为PHP项目统一设置404页面

PHP中处理异常有几种方式?请详述php中异常处理方法总结:当异常被触发时,通常会发生:在PHP5中添加了类似于其它语言的错误异常处理模块。在PHP代码中所产生的异常可被throw语句抛出并被catch语句捕获。需要进行异常处理的代码都必须放入try代码块内,以便捕获可能存在的异常。每一个try至少要有一个与之对应的catch。使用多个catch可以捕获不同的类所产生的异常。当try

2023-09-15 23:07:12
PHP框架异常处理 用实例分析PHP5异常处理
PHP框架异常处理 用实例分析PHP5异常处理

用实例分析PHP5异常处理<?php/***■一PHP5的异常处理**PHP5添加了类似于其它语言的异常处理模块。在PHP代码中所产生的异常可被throw*语句抛出并被catch语句捕获。需要进行异常处理的代码都必须放入try代码块内,以*便捕获可能存在的异常。每一个try至少要有一个与之对应的catch。使用多个catch*可以捕获不同的类所产生的异常。当tr

2023-09-11 21:19:51
php查框架错误的方法 php如何提示错误信息
php查框架错误的方法 php如何提示错误信息

php怎样获取mysql错误信息php获取mysql错误信息的方法:可以利用mysql_error()函数来获取。mysql_error()函数可以返回上一个mysql操作产生的文本错误信息,如果没有错误则返回空字符串。mysql_error()函数返回上一个MySQL操作产生的文本错误信息,如果没有出错则返回空字符串。(推荐教程:php图文教程)语法:mysql_erro

2023-10-03 21:33:52
php数据处理框架 php框架搭建方法?
php数据处理框架 php框架搭建方法?

php对数据进行数据处理?PHP是一种常用的编程语言,可以用来对数据进行处理和操作。以下是一些常见的PHP数据处理方法:数组操作:PHP中可以使用数组来存储和处理数据。可以使用数组函数来对数组进行操作,例如增加、删除、查找、排序等。例如,可以使用以下代码将一个数组按照某个键值进行排序:php复制$arr=array(array('name'=&gt;'Alic

2023-09-23 04:55:48
php框架打开出现运行信息 php显示错误信息方法 php显示错误信息的方法
php框架打开出现运行信息 php显示错误信息方法 php显示错误信息的方法

php运行出现这个求解决解决办法:需要有自己的MYSQL数据库服务器。下载的网站里应该有数据库文件,然后导入你的数据库服务器里,在修改你的数据库文件地址,用户名,密码,还有数据库名。查看下是不是使用了post或者未传ip参数。win7下运行32位的程序没有问题,一直以为是64位的。php显示错误信息方法php显示错误信息的方法我们在

2023-10-04 05:44:39
php框架中处理异常 php拦截异常怎么写
php框架中处理异常 php拦截异常怎么写

php拦截异常怎么写php拦截异常可以通过PHP的错误、异常机制及其内建数'set_exception_handler'、'set_error_handler'、'register_shutdown_function'来写。'set_exception_handler'函数用于拦截各种未捕获的异常,然后将这些交给用户自定义的方式进行处理'set_error_handler'函数

2023-09-17 17:12:45