在程序开发中,错误处理这一块是非常重要的,今天本文章就来告诉他关于在php开发中,错误处理函数并且举例说明错误处理的重要性。
1、内置异常处理类、2、捕获并处理异常的示例、3、exception类的成员函数getmessage()、4、exception类的成员函数getfile()、5、exception类的成员函数getline()、6、显示警告或错误信息、7、自定义错误处理函数。
1,内置异常处理类
- 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();
- final function gettraceasstring();
- function __tostring();
- }
2、捕获并处理异常的示例
- 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/>';
- echo '<br/>';
- }
- echo '继续执行';
3、exception类的成员函数getmessage()
- $file = './test/readme.txt';
- try
- {
- if(is_dir($file))
- {
- echo '检测到目录';
- }
- else
- {
-
- throw new exception('未找到该目录或文件');
- }
- }
- catch(exception $e)
- {
- echo '捕获异常: ' . $e->getmessage();
- echo '<br/>===============================';
- echo '<br/>';
- }
- echo '程序执行完毕';
4、exception类的成员函数getfile()
- $file = './test/readme.txt';
- try
- {
- if(is_dir($file))
- {
- echo '检测到目录';
- }
- else
- {
-
- throw new exception('未找到该目录或文件');
- }
- }
- catch(exception $e)
- {
- echo '捕获异常: ' . $e->getmessage();
- echo '<br/><br/>';
- echo '错误所在文件:'. $e->getfile();
- echo '<br/>===============================';
- echo '<br/>';
- }
- echo '程序执行完毕';
-
5、exception类的成员函数getline()
- $file = './test/readme.txt';
- try
- {
- if(is_dir($file))
- {
- echo '检测到目录';
- }
- else
- {
-
- 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、显示警告或错误信息
- error_reporting(e_warning | e_error);
- echo $uvar;
- callfunc();
-
- 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;