清理PHP中自定义异常类的代码

埃里克

我第一次玩自定义PHP异常,并希望在清理某些代码方面有所帮助。特别是,我正在捕获PDO错误,并编写了一个类向自己发送错误堆栈跟踪信息。我目前的处事方式如下:

try {

//db stuff

} catch (PDOException $e) {

    throw new My_Own_Exception($e);
        exit;

}   

我的My_Own_Exception在其中执行以下操作:

class My_Own_Exception extends Exception
{

  /*code to mail myself error info: this part works!
}

虽然上述方法有效,但我觉得我应该能够写出更简洁的内容,例如:

try {

    } catch (My_Own_Exception $e) {
        exit;
    }

其中My_Own_Exception是PDOException类的扩展。关于此的一些问题:第一,第二种方法是更好的方法吗?第二,如果可以,那有可能吗?第三,如果可能的话,如果从未在任何地方实例化My_Own_Exception,那么如何让PHP知道My_Own_Exception“存在”?希望第三个问题有意义:我的直觉告诉我,如果我能够做到这一点,那么我的方法应该是可能的。

克罗

我认为异常不是逻辑的正确地方,它应该包含有关错误的信息。APDOException很有用,因为您知道它源自您的PDO代码,如果您抛出A,则MyException至少需要提供更多(有用的)信息。

设置好之后,您应该阅读BiVOC对原始问题的评论

如果您有一个自定义的异常处理程序,则可以通过进行区分instanceof

function exception_handler($exception) {
    if ($exception instanceof PDOException) {
        //mail
    }
    //always log/etc.
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

清理PHP中自定义异常类的代码

来自分类Dev

Python 3.4中的自定义异常代码和消息

来自分类Dev

处理自定义代码中的 NoneType 异常

来自分类Dev

在自定义异常类中设置(半)默认消息

来自分类Dev

Java自定义异常中的超类构造函数

来自分类Dev

哪个更好 ?许多自定义异常类,还是一个具有许多自定义异常代码的异常类?

来自分类Dev

在代码中找不到Chrome自定义标签类

来自分类Dev

自定义异常类-奇怪的行为

来自分类Dev

覆盖自定义类异常

来自分类Dev

具有自定义异常类的Spring REST @ResponseStatus不会更改返回状态代码

来自分类Dev

在CakePHP 3中的哪里放置自定义PHP类?

来自分类Dev

Scala中的自定义异常

来自分类Dev

Python中的自定义异常

来自分类Dev

在js中捕获自定义异常

来自分类Dev

sqlalchemy 中的自定义异常消息

来自分类Dev

清理自定义元素中的事件侦听器

来自分类Dev

当自定义绘画代码在另一个类中时,不执行自定义绘画

来自分类Dev

如何在django rest框架中快速抛出带有自定义错误代码的自定义异常并覆盖异常响应中的默认字段

来自分类Dev

ASP.NET API中Http状态代码的自定义异常

来自分类Dev

使用异常或自定义类在Java中的两层之间进行通信的最佳方法

来自分类Dev

自定义addToDisplay方法在另一个类中返回异常

来自分类Dev

如何查看C#中的自定义类成员抛出的所有异常的列表?

来自分类Dev

在自定义适配器类中显示空指针异常的上下文?

来自分类Dev

扩展Codeigniter异常类以添加自定义方法

来自分类Dev

Swift:自定义类的函数调用引发异常

来自分类Dev

关于用Java编写自定义类异常

来自分类Dev

为什么不能创建自定义异常类?

来自分类Dev

自定义球衣类成员注入异常

来自分类Dev

使用自定义TextView时的类强制转换异常

Related 相关文章

  1. 1

    清理PHP中自定义异常类的代码

  2. 2

    Python 3.4中的自定义异常代码和消息

  3. 3

    处理自定义代码中的 NoneType 异常

  4. 4

    在自定义异常类中设置(半)默认消息

  5. 5

    Java自定义异常中的超类构造函数

  6. 6

    哪个更好 ?许多自定义异常类,还是一个具有许多自定义异常代码的异常类?

  7. 7

    在代码中找不到Chrome自定义标签类

  8. 8

    自定义异常类-奇怪的行为

  9. 9

    覆盖自定义类异常

  10. 10

    具有自定义异常类的Spring REST @ResponseStatus不会更改返回状态代码

  11. 11

    在CakePHP 3中的哪里放置自定义PHP类?

  12. 12

    Scala中的自定义异常

  13. 13

    Python中的自定义异常

  14. 14

    在js中捕获自定义异常

  15. 15

    sqlalchemy 中的自定义异常消息

  16. 16

    清理自定义元素中的事件侦听器

  17. 17

    当自定义绘画代码在另一个类中时,不执行自定义绘画

  18. 18

    如何在django rest框架中快速抛出带有自定义错误代码的自定义异常并覆盖异常响应中的默认字段

  19. 19

    ASP.NET API中Http状态代码的自定义异常

  20. 20

    使用异常或自定义类在Java中的两层之间进行通信的最佳方法

  21. 21

    自定义addToDisplay方法在另一个类中返回异常

  22. 22

    如何查看C#中的自定义类成员抛出的所有异常的列表?

  23. 23

    在自定义适配器类中显示空指针异常的上下文?

  24. 24

    扩展Codeigniter异常类以添加自定义方法

  25. 25

    Swift:自定义类的函数调用引发异常

  26. 26

    关于用Java编写自定义类异常

  27. 27

    为什么不能创建自定义异常类?

  28. 28

    自定义球衣类成员注入异常

  29. 29

    使用自定义TextView时的类强制转换异常

热门标签

归档