• XSException 异常

    XSException 异常

    所有操作中出现的异常、错误均抛出此类型的异常,搜索代码中应该尝试捕捉该异常以确定操作是否成功。

    已通过重载魔术方法 XSException::__toString 对出错信息作了简要的美化和修饰,您可以直接输出该对象,如需要查看堆栈追踪,通过继承来的 XSException::getTraceAsString 即可。

    Note: 在系统内部将所有的错误处理也转换成为抛出 XSErrorException 对象,而 XSErrorException 继承自 XSException,所以实际代码中只要统一捕捉 XSException 即可。

    一段典型的处理代码应类似下面的方式:

    1. require '$prefix/sdk/php/lib/XS.php';
    2. try
    3. {
    4. $xs = new XS('demo');
    5. $docs = $xs->search->setQuery('hightman')->setLimit(5)->search();
    6. foreach ($docs as $doc)
    7. {
    8. echo $doc->rank() . ". " . $doc->subject . " [" . $doc->percent() . "%]\n";
    9. echo $doc->message . "\n";
    10. }
    11. }
    12. catch (XSException $e)
    13. {
    14. echo $e; // 直接输出异常描述
    15. if (defined('DEBUG')) // 如果是 DEBUG 模式,则输出堆栈情况
    16. echo "\n" . $e->getTraceAsString() . "\n";
    17. }