• 技术文章 >后端开发 >php教程

    php异常处理方法实例汇总_PHP

    2016-05-30 08:46:00原创294
    本文实例讲述了php异常处理方法。分享给大家供大家参考。具体如下:

    <?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("文件无法找到", 1); 
      } 
      if(!fopen($path, "r"))
      //如果文件无法打开,抛出异常对象 
      { 
        throw new Exception("文件无法打开", 2); 
      } 
    } 
    ?> 
    
    

    <?php 
    $path = "D://in.txt";
    //文件所在路径 
    file_open($path);
    //调用file_open函数 
     
    function file_open($path) 
    { 
      if(!file_exists($path))
      //如果文件无法找到,抛出异常对象 
      { 
        throw new Exception("文件无法找到", 1); 
      } 
      if(!fopen($path, "r"))
      //如果文件无法打开,抛出异常对象 
      { 
        throw new Exception("文件无法打开", 2); 
      } 
    } 
    ?> 
    
    

    <?php 
    function exception_handler($e)
    //用于处理异常的函数 
    { 
     echo "未捕获的异常:".$e->getMessage(); 
    } 
     
    set_exception_handler("exception_handler");
    //设置异常处理函数 
    try //检测异常 
    { 
      $path = "D://in.txt"; 
    } 
    catch(Exception $e) //捕获异常 
    { 
      echo $e->getMessage(); 
    } 
    file_open($path); //调用函数打开文件 
    function file_open($path) 
    { 
      if(!file_exists($path))
      //如果文件无法找到,抛出异常对象 
      { 
        throw new Exception("文件无法找到", 1); 
      } 
      if(!fopen($path, "r"))
      //如果文件无法打开,抛出异常对象 
      { 
        throw new Exception("文件无法打开", 2); 
      } 
    } 
    ?> 
    

    <?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("文件无法找到", 1); 
      } 
       
      if(!fopen($path, "r")) 
      { 
        throw new Exception("文件无法打开", 2); 
      } 
    } 
    ?> 
    
    

    <?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("文件无法找到", 1);
        //抛出FileExistsException异常对象 
      } 
       
      if(!fopen($path, "r")) 
      { 
        throw new FileOpenException("文件无法打开", 2);
        //抛出FileOpenException异常对象 
     
      } 
    } 
    ?> 
    
    

    <?php 
    class FileExistsException extends Exception{}
    //用于处理文件不存在异常的类 
    class FileOpenException extends Exception{}
    //用于处理文件不可读异常的类 
    $path = "D://in.txt"; 
    try 
    { 
      file_open($path); //尝试打开文件 
    } 
    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函数信息 
    } 
    catch(FileExistsException $e)
    //如果产生FileExistsException异常则提示用户确认文件位置 
    { 
      echo "程序在运行过程中发生了异常:".$e->getMessage()."/n"; 
      echo "请确认文件位置。"; 
    } 
    catch(FileOpenException $e)
    //如果产生FileOpenException异常则提示用户确认文件的可读性 
    { 
      echo "程序在运行过程中发生了异常:".$e->getMessage()."/n"; 
      echo "请确认文件的可读性。"; 
    } 
    function file_open($path) 
    { 
      if(!file_exists($path))
      //如果文件不存在,则输出错误 
      { 
        throw new FileExistsException("文件无法找到", 1); 
      } 
       
      if(!fopen($path, "r")) 
      { 
        throw new FileOpenException("文件无法打开", 2); 
      } 
    } 
    ?> 
    
    

    <?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) 
    { 
      try 
      { 
        if(!file_exists($path)) 
        { 
          throw new FileExistsException("文件无法找到", 1); 
        } 
         
        if(!fopen($path, "r")) 
        { 
          throw new FileOpenException("文件无法打开", 2); 
        } 
      } 
      catch(Exception $e)               //捕获异常 
      { 
        echo "file_open函数在运行过程中出现异常"; 
        throw $e;                  //重掷异常 
      } 
    } 
    ?>
    
    

    希望本文所述对大家的php程序设计有所帮助。

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    专题推荐:php 异常处理
    上一篇:PHP实现事件机制实例分析_PHP 下一篇:PHP微信开发之二维码生成类_PHP
    VIP课程(WEB全栈开发)

    相关文章推荐

    • 【腾讯云】年中优惠,「专享618元」优惠券!• PHP是如何存储变量的?zval结构体你了解吗?• php数组应用之比较两个时间的相减排序_php实例• 怎么用Yii框架实现登录日记• 开个新帖,来看图,开喷.解决方案• PHP软件工程师突破成长瓶颈-续(转载)
    1/1

    PHP中文网