原创

关于php的异常处理以及错误处理

温馨提示:
本文最后更新于 2018年03月06日,已超过 2,242 天没有更新。若文章内的图片失效(无法正常加载),请留言反馈或直接联系我

php异常的定义:程序在运行中出现不符合正确的业务流程的情况,允许发生(你也不想让他出现不正常的情况)但他是一种不正常的情况,按照我们的正常逻辑本不该出的错误,但仍然会出现的错误,属于逻辑和业务流程的错误,而不是编译或者语法上的错误。

php异常用于在指定的错误发生时改变脚本的运行流程

php提供了个内置的异常类()进行php的异常处理

<?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 ();                        // 可输出的字符串
}
?>

当程序运行不符合预期时,在try{}catch(){} 中的try中 都可以使用throw new 一个异常类(异常信息,异常代码)进行抛出异常

然后使用catch进行捕获异常

注意:

当一个异常被抛出时,所在try其后的代码将不会继续执行,而 PHP 就会尝试查找第一个能与之匹配的 catch。如果一个异常没有被捕获,而且又没用使用 set_exception_handler() 作相应的处理的话,那么 PHP 将会产生一个严重的错误,并且输出 Uncaught Exception ... (未捕获异常)的提示信息。

set_exception_handler();//设置一个用户自定义的异常处理函数

<?php
function a($x){
    var_dump($x);
}
set_exception_handler('a');
 throw new \Exception("Uncaught exception occurred!");

输出:

仙士可博客

php错误:php脚本运行时自身出现的问题
php错误级别:

正文到此结束
本文目录