【列表】
(1)默认错误处理方式
(2)错误处理方法:
1. 简单的 "die()" 语句;2. 自定义错误和错误触发器;
(3)错误日志
【详解】
(1)默认错误处理方式
默认的错误处理很简单。一条消息会被发送到浏览器,这条消息带有文件名、行号以及一条描述错误的消息。
(2)错误处理方法:
1. 简单的 "die()" 语句;2. 自定义错误和错误触发器;
(3)错误日志
详解:
1. 基本的错误处理:使用 die() 函数
<?php if(!file_exists("welcome.txt")){ die("文件不存在"); }else{ $file=fopen("welcome.txt","r"); } ?>
假如文件不存在,将会得到类似这样的错误消息:
文件不存在
比起默认的处理方式,上面的代码更有效,这是由于它采用了一个简单的错误处理机制在错误之后终止了脚本。不过,简单地终止脚本并不总是恰当的方式
2. 自定义错误和错误触发器
①错误处理器(自定义错误,一般用于语法错误处理)
创建自定义错误函数(处理器),该函数必须有能力处理至少两个参数(error_level和errormessage),但是可以接受最多五个参数(error_file、error_line、error_context)
function error_function($error_level登记, $error_message信息, $error_file文件名, $error_line行数, $error_context数组)
②错误触发器(一般用于处理逻辑上的错误)
需求:比如要接收一个年龄,如果数字大于120,就认为是一个错误。
传统方法:
<?php if ($age > 120) { echo '年龄错误'; exit(); } ?>
使用触发器:
<?php if ($age > 120) { // trigger_error('错误信息'[,'错误等级']); 这里错误等级为可选项,用于定义该错误的级别 // 用户定义的级别包含以下三种:E_USER_WARNING 、E_USER_ERROR 、E_USER_NOTICE trigger_error('年龄错误'); // 这里是调用的系统默认的错误处理方式,我们也可以用自定义处理器 } /*自定义处理器,与上面相同*/ function myerror($error_level, $error_message) { echo 'error text'; } // 同时需要改变系统默认的处理函数 set_error_handler('myerror', E_USER_WARNING); // 同上面,第一个参数为自定义函数的名称,第二个为错误级别 //【这里的错误级别通常为以下三种:E_USER_WARNING 、E_USER_ERROR 、E_USER_NOTICE】 // 现在再使用trigger_error就可以使用自定义的错误处理函数了 ?>
练习题:
<?php date_default_timezone_set('PRC'); function myerror($error_level, $error_message) { $info = "错误号:$error_level"; $info .= "错误信息:$error_message"; $info .= '发生时间:' . date('Y-m-d H:i:s'); $filename = 'aa.txt'; if (!$fp = fopen($filename, 'a')) { echo '创建文件' . $filename . '失败'; } if (is_writeable($filename)) { if (!fwrite($fp, $info)) { echo '写入文件失败'; } else { echo '已成功记录错误信息'; } fclose($fp); } else { echo '文件' . $filename . '不可写'; } exit(); } set_error_handler('myerror', E_WARNING); $fp = fopen('aaa.txt', 'r'); ?>
(3)错误日志
默认的根据php.ini中error_log配置,PHP向服务器的错误记录系统或文件发送错误记录。通过使用error_log()函数可以向文件或远程目的地发送错误记录;
error_log(error[, type, destination, headers])
type部分一般用3,表示在文件后面追加错误信息,而不会覆盖原内容destination表示目的地,即存放的文件或远程目的地。如:
error_log("$error_info",3,"errors.txt");
.
相关推荐
### PHP 错误处理机制详解 #### 一、引言 在PHP开发中,错误处理是一项重要的技术。良好的错误处理机制不仅能帮助开发者更好地调试代码,还能提升用户体验,尤其是在Web应用程序中。本文将深入探讨PHP中的错误处理...
PHP Error 是一个专门为开发者设计的开源PHP类库,它的主要目标是改善标准PHP错误处理机制,为开发过程中遇到的问题提供更清晰、更有帮助的错误信息。这个类库不仅提供了友好的错误报告方式,还集成了语法高亮显示,...
在PHP中,可以通过`set_error_handler()`函数来指定一个自定义的错误处理函数。该函数会在脚本执行过程中发生的任何错误被触发时被调用。自定义错误处理函数接收四个参数:错误级别、错误消息、错误发生的文件名和...
在"错误处理Error.playground.zip"这个压缩包中,我们很可能会找到一个示例项目,展示了如何在Swift中使用错误处理来捕获和处理程序运行时可能遇到的问题。下面我们将深入探讨Swift中的错误处理机制。 首先,Swift...
2. `On Error GoTo 0`:关闭错误处理,恢复到默认行为,即当错误发生时,脚本将立即停止执行并显示错误消息。 在QTP测试环境中,我们通常使用`On Error Resume Next`来处理可能引发错误的代码段,以确保测试脚本的...
本文将讲述如何在 web.xml 文件中使用 `<error-page>` 元素来设置错误处理页面,并结合实验结果,分析 JSP 的基本语法和错误处理机制。 web.xml 文件的 `<error-page>` 元素 在 JavaWeb 应用程序中,web.xml 文件...
总的来说,PHP错误处理是通过结合`set_error_handler()`、`error_reporting()`和自定义错误处理函数来实现的,这样可以更有效地管理错误,提供更专业的错误反馈,同时确保程序的安全性。通过适当的错误处理,开发者...
`errorx`库作为一个综合的错误处理工具,旨在提供更高效、可扩展且富有洞察力的错误处理机制,以提升Go应用的开发体验。本文将深入探讨`errorx`库的核心特性和如何在实际项目中使用它。 首先,`errorx`库引入了错误...
在上述内容中,提到了PHP处理错误的两种主要方法:错误处理和异常处理。 首先,我们来了解一下PHP中的错误处理机制。PHP提供了多种处理错误的方式,其中最常见的是: 1. **简单的die()或exit()语句**:当遇到错误...
ABB机器人错误处理方法
- **OnError错误处理**:其次,如果定义了OnError,则在相应作用域内优先于全局错误响应。 - **全局错误响应**:作为最底层的错误处理机制,当其他机制未捕获错误时起作用。 总之,QTP提供了多层面的错误处理框架,...
vb6集成环境on error错误处理代码添加插件。 安装方法很简单: 1.点击菜单“工程-引用”,选择这个dll 2.然后点击菜单“外接程序-外接程序管理器”,选择“Insert Error Hand”,把右下角两个框框都勾起来 3.这样你...
解决:oracle_plsql连服务端时 Initialization error could initialize错误处理方法
需要注意的是,在处理完错误后通常会调用`Server.ClearError()`来清除错误,这样可以避免错误被多次处理或重复显示给用户。 #### 六、局部页面错误处理 除了全局错误处理外,ASP.NET还支持局部页面级别的错误处理...
本文旨在详细介绍PHP中的全局错误处理机制,包括`error_reporting`和`set_error_handler`两个核心函数的使用方法。 #### 背景介绍 PHP作为一种动态解释型语言,虽然提供了极大的灵活性,但同时也意味着更容易出现...
"error message_errormessage_" 这个标题可能是指一个特定的错误处理机制或者函数,其核心是创建一个与具体硬件或系统设备无关的错误传递方式。这样的设计使得程序的错误处理代码更加通用,适应性更强,可以在不同的...
QTP 提供了多种错误处理机制来确保测试脚本的稳定性和可靠性,这包括全局错误响应、VBScript 的 OnError 错误处理方式以及错误恢复场景(Recovery Scenarios)。以下是对这些错误处理机制的详细介绍: ### 一、全局...
VBScript语言提供了两个语句和一个对象来处理“运行时错误”,它们分别是On Error Resume Next语句、On Error Goto 0语句和Err对象。这三者联合使用可以实现灵活的错误处理机制。 一、On Error Resume Next语句 On...
这时,我们需要对这些错误进行妥善处理,为用户提供友好的体验。本文将详细介绍如何在WebView加载失败时,自定义错误页面。 首先,我们来理解WebView的基本使用。在Android Studio中创建一个新的Activity,然后在...