【问题标题】:How to do error handling when including other 3rd party libraries包含其他 3rd 方库时如何进行错误处理
【发布时间】:2013-02-14 20:43:22
【问题描述】:

我在我的 php 应用程序中添加了一个第 3 方开源库。 (phpseclib) 我已经用 try / catch 块包装了对他们方法的所有调用,并且我正在处理所有错误,以便我优雅地处理错误。

但是,因为 3rd 方库没有进行错误处理,所以当它死掉时,我会从中得到一个 php 错误 + 另一个我在尝试连接时抛出的 codeigniter 消息设备,它失败了。

除了更改库以包含一些错误处理之外,我只想确保我无法阻止这些“未处理”消息出现在最终用户面前...

谢谢

【问题讨论】:

    标签: php codeigniter error-handling


    【解决方案1】:

    您可以使用set_error_handler() 编写自己的错误处理程序,并根据错误的级别忽略和/或处理错误。

    【讨论】:

    • 这是在第 3 方库中定义还是在调用该库的 ci 代码中定义?
    • @dot 您可以两种方式都这样做,但我建议您只更改您自己的代码。当您想将其添加到您的第三方库时,您应该分叉该项目并在更改后发出拉取请求,以便它可以包含在正式版本中。
    【解决方案2】:

    大概:

    // Turn off error reporting
    error_reporting(0);
    

    【讨论】:

    • 您不想关闭错误报告,而是隐藏错误消息。如果您的应用程序中断或出现错误,您不会知道其他情况。
    猜你喜欢
    • 2017-11-03
    • 2012-07-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多