在程序开发中,错误处理这一块是非常重要的,今天本文章就来告诉他关于在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免费学习笔记(深入)”;
<?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()
使用模板与程序分离的方式构建,依靠专门设计的数据库操作类实现数据库存取,具有专有错误处理模块,通过 Email 实时报告数据库错误,除具有满足购物需要的全部功能外,成新商城购物系统还对购物系统体系做了丰富的扩展,全新设计的搜索功能,自定义成新商城购物系统代码功能代码已经全面优化,杜绝SQL注入漏洞前台测试用户名:admin密码:admin888后台管理员名:admin密码:admin888
0
<?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;
?>本文链接:
收藏随意^^请保留教程地址.
PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号