如何处理异常日志记录

时间:2013-05-28 10:02:14

标签: php exception

我有一个复杂的网络应用程序,我正在添加错误记录,我希望能够记录异常:

try{
//typically mysql queries but can involve PayPal api, Facebook api amongst others
        }
        catch($e){
            logger($e);
        }

假设$ e永远是一个字符串是否安全,如果没有,我可以调用一个php函数,它总是会给我'$ e'的字符串输出,这样我的记录器就可以存储结果输出了我的日志表?

1 个答案:

答案 0 :(得分:0)

这不是c ++,这就是为什么你需要抛出异常对象或异常的子类

的对象实例的原因

来自PHP手册

  

抛出的对象必须是Exception类的实例或Exception的子类。尝试抛出一个不会导致PHP致命错误的对象。

这就是为什么你总是可以访问Exception类方法,例如:

  • final public string getMessage(void)//获取异常消息
  • final public string getTraceAsString(void)//将堆栈跟踪作为字符串
  • 获取

这就是为什么你可以使用catch(Exception $e){ echo $e->getMessage();}获取异常或跟踪的消息,这些消息总是字符串。

如果要传递Exception对象,可以扩展Exception类并覆盖 __toString() 方法以满足您的需求。

您也可以对Setting Exception Handler

感兴趣