在程序开发中,错误处理这一块是非常重要的,今天本文章就来告诉他关于在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; ?>
本文链接:
收藏随意^^请保留教程地址.

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Muat turun versi mac editor Atom
Editor sumber terbuka yang paling popular

MantisBT
Mantis ialah alat pengesan kecacatan berasaskan web yang mudah digunakan yang direka untuk membantu dalam pengesanan kecacatan produk. Ia memerlukan PHP, MySQL dan pelayan web. Lihat perkhidmatan demo dan pengehosan kami.

ZendStudio 13.5.1 Mac
Persekitaran pembangunan bersepadu PHP yang berkuasa

EditPlus versi Cina retak
Saiz kecil, penyerlahan sintaks, tidak menyokong fungsi gesaan kod

SecLists
SecLists ialah rakan penguji keselamatan muktamad. Ia ialah koleksi pelbagai jenis senarai yang kerap digunakan semasa penilaian keselamatan, semuanya di satu tempat. SecLists membantu menjadikan ujian keselamatan lebih cekap dan produktif dengan menyediakan semua senarai yang mungkin diperlukan oleh penguji keselamatan dengan mudah. Jenis senarai termasuk nama pengguna, kata laluan, URL, muatan kabur, corak data sensitif, cangkerang web dan banyak lagi. Penguji hanya boleh menarik repositori ini ke mesin ujian baharu dan dia akan mempunyai akses kepada setiap jenis senarai yang dia perlukan.