php异常处理方法实例汇总

5年以前  |  阅读数:648 次  |  编程语言:PHP 

本文实例讲述了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程序设计有所帮助。

 相关文章:
PHP分页显示制作详细讲解
SSH 登录失败:Host key verification failed
获取IMSI
将二进制数据转为16进制以便显示
获取IMEI
文件下载
贪吃蛇
双位运算符
PHP自定义函数获取搜索引擎来源关键字的方法
Java生成UUID
发送邮件
年的日历图
提取后缀名
在Zeus Web Server中安装PHP语言支持
让你成为最历害的git提交人
Yii2汉字转拼音类的实例代码
再谈PHP中单双引号的区别详解
指定应用ID以获取对应的应用名称
Python 2与Python 3版本和编码的对比
php封装的page分页类完整实例