Php 如何处理异常日志记录

Php 如何处理异常日志记录,php,exception,Php,Exception,我有一个复杂的web应用程序,我正在向其中添加错误日志记录,我希望能够记录异常: try{ //typically mysql queries but can involve PayPal api, Facebook api amongst others } catch($e){ logger($e); } 安全的假定$E总是字符串,如果不是,我可以调用一个PHP函数,它总是给我“$e”的字符串输出,这样我的记录器可以将结

我有一个复杂的web应用程序,我正在向其中添加错误日志记录,我希望能够记录异常:

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

安全的假定$E总是字符串,如果不是,我可以调用一个PHP函数,它总是给我“$e”的字符串输出,这样我的记录器可以将结果输出存储在日志表中?

< p>它不是C++,这就是为什么您需要抛出Exception对象或是Exception子类的对象实例的原因

来自PHP手册

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

这就是为什么您总是可以访问异常类方法的原因,例如:

  • 最后一个公共字符串getMessage(void)//获取异常消息
  • final public string gettracesstring(void)//以字符串形式获取堆栈跟踪
这就是为什么您可以使用
catch(Exception$e){echo$e->getMessage();}
来获取总是字符串的异常或跟踪消息

若要传递异常对象,可以扩展异常类并重写方法以满足您的需要


您还可以对

yes$e->getMessage()感兴趣$E一根绳子$e应该是Exception类的某个子类的某个实例,该子类有一个_toString方法。。。