很多站长朋友们都不太清楚php实现异常处理,今天小编就来给大家整理php实现异常处理,希望对各位有所帮助,具体内容如下:
本文目录一览: 1、 PHP5中的异常处理详解[1] 2、 如何组织 PHP 中的异常 3、 如何处理 PHP 的错误与异常 4、 php 异常处理 5、 php 异常处理 如何捕获异常??必须要抛出才可以吗? PHP5中的异常处理详解[1]首先是try catch
〈?php $path = D:\\\\in txt ; try //检测异常 { file_open($path); } catch(Exception $e) //捕获异常 { echo $e 〉getMessage(); }
function file_open($path) { if(!file_exists($path)) //如果文件无法找到 抛出异常对象 { throw new Exception( 文件无法找到 ); }
if(!fopen($path r )) //如果文件无法打开 抛出异常对象 { throw new Exception( 文件无法打开 ); } } ?〉
注意用$e 〉getMessage()输出异常信息
输出异常完整信息
〈?php $path = D:\\\\in txt ;
try { file_open($path); //尝试打开文件 } catch(Exception $e) { echo 异常信息 $e 〉getMessage() \\n ; //返回用户自定义的异常信息 echo 异常代码 $e 〉getCode() \\n ; //返回用户自定义的异常代码 echo 文件名 $e 〉getFile() \\n ; //返回发生异常的PHP程序文件名 echo 异常代码所在行 $e 〉getLine() \\n ; //返回发生异常的代码所在行的行号 echo 传递路线 ; print_r($e 〉getTrace()); //以数组形式返回跟踪异常每一步传递的路线 echo $e 〉getTraceAsString(); //返回格式化成字符串的getTrace函数信息 }
function file_open($path) { if(!file_exists($path)) //如果文件不存在 则抛出错误 { throw new Exception( 文件无法找到 ); }
if(!fopen($path r )) { throw new Exception( 文件无法打开 ); } } ?〉
3 扩展异常 即自定义异常
〈?php class FileExistsException extends Exception{} //用于处理文件不存在异常的类 class FileOpenException extends Exception{} //用于处理文件不可读异常的类
$path = D:\\\\in txt ;
try { file_open($path); } catch(FileExistsException $e) //如果产生FileExistsException异常则提示用户确认文件位置 { echo 程序在运行过程中发生了异常 $e 〉getMessage() \\n ; echo 请确认文件位置 ; } catch(FileOpenException $e) //如果产生FileOpenException异常则提示用户确认文件的可读性 { echo 程序在运行过程中发生了异常 $e 〉getMessage() \\n ; echo 请确认文件的可读性 ; } catch(Exception $e) { echo [未知异常] ; echo 异常信息 $e 〉getMessage() \\n ; //返回用户自定义的异常信息 echo 异常代码 $e 〉getCode() \\n ; //返回用户自定义的异常代码 echo 文件名 $e 〉getFile() \\n ; //返回发生异常的PHP程序文件名 echo 异常代码所在行 $e 〉getLine() \\n ; //返回发生异常的代码所在行的行号 echo 传递路线 ; print_r($e 〉getTrace()); //以数组形式返回跟踪异常每一步传递的路线 echo $e 〉getTraceAsString(); //返回格式化成字符串的getTrace函数信息 }
function file_open($path) { if(!file_exists($path)) { throw new FileExistsException( 文件无法找到 ); //抛出FileExistsException异常对象 }
if(!fopen($path r )) { throw new FileOpenException( 文件无法打开 ); //抛出FileOpenException异常对象
lishixinzhi/Article/program/PHP/201311/21471
如何组织 PHP 中的异常try catch组织php的异常
try{
throw new Exception("error");
}catch(Exception $e){
echo "Message: ".$e->getMessage();
}
在 try 代码块中执行代码,并根据需要通过 throw 来抛出异常。
每一个 throw 对应一个 catch , try 代码块中通过throw抛出的异常会被 catch 代码块接收到,并创建一个包含异常信息的对象 ($e)。
通过从这个 exception 对象调用 $e->getMessage(),输出来自该异常的错误消息。
注:当 try 代码块执行到了 throw 后,try代码块不会再继续执行,转而调到 catch 代码块,与函数封装中的 return 有相似作用。
最后,异常处理能提高程序的健壮性,增强可维护性,有利于异常的集中处理,从而保证程序的可靠性。
如何处理 PHP 的错误与异常注册好自己的异常处理函数,可以捕获出现的异常,一般写框架的时候比较喜欢用。
set_error_handler('suda\\core\\System::uncaughtError');
set_exception_handler('suda\\core\\System::uncaughtException');
php 异常处理这个东西的作者可能是想当异常发生的时候利用这个对象显示一些错误信息,但是实际上没什么作用,自己给自己找麻烦。
这是典型的新手代码,在不完全了解PHP异常处理机制的情况下搞出来的东西。异常处理应该继承Exception类。
php 异常处理 如何捕获异常??必须要抛出才可以吗?难道php里面就非得用throw才能捕获异常吗
==============
是的.异常捕获不是用来处理语法错误,不是用来处理fatal
error,更不是用来处理die()的。它只能用来处理throw出来的异常。
关于php实现异常处理的介绍到此就结束了,不知道本篇文章是否对您有帮助呢?如果你还想了解更多此类信息,记得收藏关注本站,我们会不定期更新哦。
查看更多关于php实现异常处理 php如何解决异常处理的详细内容...