• 当前位置:
  • 实战经验
  • ->
  • 开发语言分类
PHP中try{}catch{}的具体用法详解

       实战经验->开发语言        类型:原创        作者:酬劳网        浏览数:118        发布日期:2019-06-20 10:54:26
       PHP中try{}catch{}的具体用法详解

PHP中try{}catch{}的具体用法详解


try 

{ //...} 

catch(Exception $e) 

{ //...}


PHP中try{}catch{}是异常处理.


将要执行的代码放入TRY块中,如果这些代码执行过程中某一条语句发生异常,则程序直接跳转到CATCH块中,由$e收集错误信息和显示.

<?php
    try {   
        $mgr = new CommandManager();   
        $cmd = $mgr->getCommandObject("realcommand");   
        $cmd->execute();   
    } catch (Exception $e) {   
        print $e->getMessage();   
        exit();   
    }   
?>
<?php  
/** 
* Exception.php 
*  
* PHP5内置的异常类的属性与方法 
* 以下这段代码只为说明内置异常处理类的结构,它并不是一段有实际意义的可用代码。 
*/  
   
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(); // 可输出的字符串  
}  
?>


例子如下:

包含文件错误抛出异常

<?php
// 错误的演示
try {
    require ('test_try_catch.php');
} catch (Exception $e) {
    echo $e->getMessage();
}


// 正确的抛出异常

try {
    if (file_exists('test_try_catch.php')) {
        require ('test_try_catch.php');
    } else {
        throw new Exception('file is not exists');
    }
} catch (Exception $e) {
    echo $e->getMessage();
}