当前位置:Gxlcms > PHP教程 > php异常处理,php异常捕获_PHP教程

php异常处理,php异常捕获_PHP教程

时间:2021-07-01 10:21:17 帮助过:9人阅读

php异常处理,php异常捕获


使用try{thow}catch(){}异常处理结构,可以有效的控制多行可能发生异常的代码,基本模型如下:

php
try
{
throw new Exception("错误信息";) //抛出一个错误
}     
catch(Exception $e)  //捕获错误信息,Exception是一个内置的错误处理类
{
echo $e->getMessage(); //
输出错误信息 echo $e->getCode(); //返回异常代码 echo $e->getFile(); //返回发生异常的文件 echo $e->getLine(); //返回发生异常的行号 } ?>

Exception原形:

php
class Exception
{
    protected $message = 'Unknown exception';   // 异常信息
    private   $string;                          // __toString cache
    protected $code = 0;                        // 用户自定义异常代码
    protected $file;                            // 发生异常的文件名
    protected $line;                            // 发生异常的代码行号
    private   $trace;                           // backtrace
    private   $previous;                        // previous exception if nested exception

    public function __construct($message = null, $code = 0, Exception $previous = null);

    final private function __clone();           // Inhibits cloning of exceptions.

    final public  function getMessage();        // 返回异常信息
    final public  function getCode();           // 返回异常代码
    final public  function getFile();           // 返回发生异常的文件名
    final public  function getLine();           // 返回发生异常的代码行号
    final public  function getTrace();          // backtrace() 数组
    final public  function getPrevious();       // 之前的 exception
    final public  function getTraceAsString();  // 已格成化成字符串的 getTrace() 信息

    public function __toString();               //
输出的字符串 } ?>

同时,一个try也可以关联多个catch块,可以自定义类继承Exception类来实现

php
  class myException1 extends Exception{}  //根据需要自定义
  class myException2 extends Exception{}
  class myException3 extends Exception{}
  try{
    switch(1){
      case 1:throw new myException1();
      case 2:throw new myException2();
      case 3:throw new myException3(); //当找不到对应的catch代码块时,将会抛到Exception处理,因为myException3继承了Exception
    }
  }
  catch(myException1 $e){
    echo "自定义错误1";
  }
  catch(myException2 $e){
    echo "自定义错误2";
  }
  catch(Exception $e){
    echo "原始异常类"; 
  }
?>

www.bkjia.comtruehttp://www.bkjia.com/PHPjc/1127597.htmlTechArticlephp异常处理,php异常捕获 使用try{thow}catch(){}异常处理结构,可以有效的控制多行可能发生异常的代码,基本模型如下: ? php try {throw new Exc...

人气教程排行