在程序开发中,错误处理这一块是非常重要的,今天本文章就来告诉他关于在php开发中,错误处理函数并且举例说明错误处理的重要性。
1、内置异常处理类、2、捕获并处理异常的示例、3、exception类的成员函数getmessage()、4、exception类的成员函数getfile()、5、exception类的成员函数getline()、6、显示警告或错误信息、7、自定义错误处理函数。
1,内置异常处理类
<?php class exception { protected $message = 'unknown exception'; // 异常信息 protected $code = 0; // 用户自定义异常代码 protected $file; // 发生异常的文件名 protected $line; // 发生异常的代码行号 function __construct($message = null, $code = 0); final function getmessage(); // 返回异常信息 final function getcode(); // 返回异常代码 final function getfile(); // 返回发生异常的文件名 final function getline(); // 返回发生异常的代码行号 final function gettrace(); // backtrace() 数组 final function gettraceasstring(); // 已格成化成字符串的 gettrace() 信息 function __tostring(); // 可输出的字符串 } ?>
2、捕获并处理异常的示例
<?php try { $error = '抛出异常信息,并且跳出try块<br/>'; if (is_dir('./test')) { echo '检测到../ch16是一个目录'; echo '<br/>'; echo '可能继续做其他一些操作'; echo '<br/>'; echo '....'; echo '<br/>'; } else { throw new exception($error, 12345); } echo '上面throw异常的话,这行代码不会执行,转而执行catch块<br/>'; } catch(exception $e) { echo '捕获异常: ' . $e->getmessage() . "<br/>错误代码:" . $e->getcode() . '<br/>'; //显示$error和123456 echo '<br/>'; } echo '继续执行'; ?>
3、exception类的成员函数getmessage()
<?php $file = './test/readme.txt'; try { if (is_dir($file)) { echo '检测到目录'; } else { //创建异常对象,错误信息将有exception类的成员函数getmessage()返回 throw new exception('未找到该目录或文件'); } } catch(exception $e) { echo '捕获异常: ' . $e->getmessage(); echo '<br/>==============================='; echo '<br/>'; } echo '程序执行完毕'; ?>
4、exception类的成员函数getfile()
<?php $file = './test/readme.txt'; try { if (is_dir($file)) { echo '检测到目录'; } else { //创建异常对象,错误信息将有exception类的成员函数getmessage()返回 throw new exception('未找到该目录或文件'); } } catch(exception $e) { echo '捕获异常: ' . $e->getmessage(); echo '<br/><br/>'; echo '错误所在文件:' . $e->getfile(); echo '<br/>==============================='; echo '<br/>'; } echo '程序执行完毕'; ?>
5、exception类的成员函数getline()
<?php $file = './test/readme.txt'; try { if (is_dir($file)) { echo '检测到目录'; } else { //创建异常对象,错误信息将有exception类的成员函数getmessage()返回 throw new exception('未找到该目录或文件'); } } catch(exception $e) { echo '捕获异常: ' . $e->getmessage(); echo '<br/><br/>'; echo '错误所在文件:' . $e->getfile(); echo '<br/><br/>'; echo '错误所在行号:' . $e->getline(); echo '<br/>==============================='; echo '<br/>'; } echo '程序执行完毕'; ?>
6、显示警告或错误信息
<?php error_reporting(e_warning | e_error); //显示警告和错误信息 echo $uvar; //这里产生注意信息,但不会显示出来 callfunc(); //这里产生一个致命错误,并且会显示出来 ?>
7、自定义错误处理函数。
<?php set_error_handler('myhandler'); //自定义错误处理函数 function myhandler($code, $msg, $file, $line) { echo "<br/>"; echo "程序 <b>$file</b> 执行过程中,在第 <b>$line</b> 行,产生一个错误。"; echo "<br/>"; echo "错误代码为:<b>$code</b>, 错误的原因是: <b>$msg</b>"; } echo $uvar; ?>
本文链接:
收藏随意^^请保留教程地址.

Python是一种面向对象的高级编程语言,具有简单、易读、易学等特点,因此被广泛应用于数据分析、人工智能、网站开发等领域。在Python编程过程中,我们常常会遇到函数未定义的错误,本文将介绍如何解决这个问题。定义函数首先,我们需要明确函数未定义错误的原因:通常是因为我们忘记或者未正确地定义某个函数。因此,我们需要检查代码中是否包含所有需要定义的函数,并确保它

Python是一种流行的编程语言,但在使用中,经常会遇到一些错误。其中一个常见的错误是“文件夹未找到”。这个错误很容易让新手或者不熟悉Python的人感到困惑。在本文中,我们将讨论如何解决这个问题。1.确认文件夹路径是否正确在Python中,处理文件和文件夹的时候,需要指定文件和文件夹的路径。如果路径设置错误,那么就会导致程序无法找到文件夹。因此,我们需要先

Python是一门易学易用的编程语言,然而在使用Python编写递归函数时,可能会遇到递归深度过大的错误,这时就需要解决这个问题。本文将为您介绍如何解决Python的最大递归深度错误。1.了解递归深度递归深度是指递归函数嵌套的层数。在Python默认情况下,递归深度的限制是1000,如果递归的层数超过这个限制,系统就会报错。这种报错通常称为“最大递归深度错误

<p>Xlive.dll是Microsoft的一个动态链接库(DLL),它是“WindowsLive游戏”的一部分。由Xlive.dll引起的错误可能是由于Xlive.dll文件的删除、放错位置、被恶意软件损坏或注册表项搞砸了。由于此错误而无法启动程序或游戏可能会令人沮丧。让我们看看解决这个问题的方法。此问题通常可以通过正确重新安装Xlive.dll文件来解决。</p><p><strong&

Python是一种非常流行的编程语言,由于其简洁明了的语法、易于学习以及丰富的生态系统得到了广泛的应用。然而,由于Python采用缩进作为代码块的标识,所以在编写Python程序的过程中,很容易遇到缩进错误的问题。缩进错误的原因可能是拼写错误、恰当使用缩进或可读性不好,这可能会导致代码运行失败或出现意想不到的结果。因此,在想要解决Python缩进错误的时候,

在Python编程中,当我们想要调用一个尚未实现的方法时,会出现NotImplementedError的错误提示。这个错误可以让我们感到困惑,因为它并没有明确告诉我们如何解决它。在本文中,我们将探讨NotImplementedError的原因,并提供一些解决方法,帮助您克服此错误。什么是NotImplementedError?NotImplementedEr

Go语言中的时间相关函数是非常常用的一部分,而time.Now()函数则是最常用的获取当前时间的方式。然而有时候我们在代码中调用这个函数却会出现"undefined:time.Now"的错误,那么我们该怎么解决这个问题呢?首先,我们需要了解一下这个错误的原因。Go语言的std库是根据当前Go版本编译生成的。当你的Go程序引入一个std

Python作为一种高级编程语言,在数据处理、科学计算、人工智能等领域广泛应用。不过,在这些应用场景中,Python的内存占用较高,甚至可能出现内存不足的情况。本文将介绍如何解决Python的内存不足错误。减少内存使用量Python语言本身并不是一个占用内存很大的语言。通常情况下,Python的内存使用量是由程序设计、数据结构、算法等因素共同决定的。因此,我


热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

MinGW - 适用于 Windows 的极简 GNU
这个项目正在迁移到osdn.net/projects/mingw的过程中,你可以继续在那里关注我们。MinGW:GNU编译器集合(GCC)的本地Windows移植版本,可自由分发的导入库和用于构建本地Windows应用程序的头文件;包括对MSVC运行时的扩展,以支持C99功能。MinGW的所有软件都可以在64位Windows平台上运行。

Atom编辑器mac版下载
最流行的的开源编辑器

Dreamweaver CS6
视觉化网页开发工具

VSCode Windows 64位 下载
微软推出的免费、功能强大的一款IDE编辑器