文档说明

XSException

XS
继承关系 class XSException » Exception
子类 XSErrorException
版本 1.0.0
源代码 sdk/php/lib/XS.class.php
XS 异常类定义, XS 所有操作过程发生异常均抛出该实例

Protected 属性

隐去继承来的属性

名称类型描述定义于
code Exception
file Exception
line Exception
message Exception

Public 方法

隐去继承来的方法

名称描述定义于
__construct() Exception
__toString() 将类对象转换成字符串 XSException
__wakeup() Exception
getCode() Exception
getFile() Exception
getLine() Exception
getMessage() Exception
getPrevious() Exception
getRelPath() 取得相对当前的文件路径 XSException
getTrace() Exception
getTraceAsString() Exception

方法明细

__toString() 方法
public string __toString()
{return} string 异常的简要描述信息
源码: sdk/php/lib/XS.class.php#L67 (显示)
public function __toString()
{
    
$string '[' __CLASS__ '] ' $this->getRelPath($this->getFile()) . '(' $this->getLine() . '): ';
    
$string .= $this->getMessage() . ($this->getCode() > '(S#' $this->getCode() . ')' '');
    return 
$string;
}

将类对象转换成字符串

getRelPath() 方法
public static string getRelPath(string $file)
$file string 需要转换的绝对路径
{return} string 转换后的相对路径
源码: sdk/php/lib/XS.class.php#L79 (显示)
public static function getRelPath($file)
{
    
$from getcwd();
    
$file realpath($file);
    if (
is_dir($file)) {
        
$pos false;
        
$to $file;
    } else {
        
$pos strrpos($file'/');
        
$to substr($file0$pos);
    }
    for (
$rel '';; $rel .= '../') {
        if (
$from === $to) {
            break;
        }
        if (
$from === dirname($from)) {
            
$rel .= substr($to1);
            break;
        }
        if (!
strncmp($from '/'$tostrlen($from) + 1)) {
            
$rel .= substr($tostrlen($from) + 1);
            break;
        }
        
$from dirname($from);
    }
    if (
substr($rel, -11) === '/') {
        
$rel substr($rel0, -1);
    }
    if (
$pos !== false) {
        
$rel .= substr($file$pos);
    }
    return 
$rel;
}

取得相对当前的文件路径

一条评论!

#106 报告
logig at 2017-05-25 02:37:15
$e->getCode()
try{
    new XS();
}catch(XSException $e){
    $e->getCode();
}

大家不觉得少了“异常code”列表吗?对异常做针对处理要用的,文档里没有。。。

请到论坛 登录 后刷新本页面!