dhii / exception
符合标准的异常类
v0.1-alpha5
2018-04-02 15:18 UTC
Requires
- php: ^5.4 | ^7.0
- dhii/exception-interface: ^0.2
- dhii/i18n-helper-base: ^0.1
- dhii/normalization-helper-base: ^0.1
Requires (Dev)
- codeclimate/php-test-reporter: <=0.3.2
- dhii/php-cs-fixer-config: ^0.1
- dhii/stringable-interface: ^0.1
- phpunit/phpunit: ^4.8
- ptrofimov/xpmock: ^1.1
Replaces
- dhii/exception-helper-base: 0.1-alpha1|0.1-alpha2
This package is auto-updated.
Last update: 2024-09-07 04:57:13 UTC
README
符合标准的异常类。
详细信息
此包包含实现dhii/exception-interface
接口的类的具体实现。这为开发者提供了现成的、符合标准的类,可以安全地实例化和throw
出以表示各种错误。具体的异常类通常会有对应的工厂特质,这些特质的工厂方法是创建新的异常实例的推荐方式(当然是在服务定义之后)。
此包中的实现还具有以下旨在提高符合标准性的特性
- 任何可以传递字符串的地方都接受stringable。
- 所有参数都可以传递
null
以表示默认值(这可能是非null
)。
消费者,即尝试catch
的代码,不应依赖于这些类。相反,消费者应依赖于dhii/exception-interface
的接口。
创建新的异常
有时,需要创建新的异常类,例如实现新的标准(如dhii/action-interface
),或者可能实现两个不相关的接口(想象一个同时实现Dhii\Action\ActionInterface
和Mouf\Utils\Action\ActionInterface
的对象)。在这种情况下,实现Dhii异常的一些功能可能需要花费不必要的时间。此包提供了一种使创建新异常更快的方法。
- 如果您需要扩展除了
Exception
之外的其他类,则ExceptionTrait
通过结合异常常用的公共特质来帮助,这将初始化类,并规范化一些值。请参见Dhii\Exception\InvalidArgumentException
的示例。 - 如果您需要扩展根类
Exception
,则最快捷的方法是通过扩展Dhii\Exception\AbstractBaseException
。请参见Dhii\Exception\Exception
的示例。正如所示,通过在构造函数中调用_initBaseException()
,可以实现所有基本初始化和规范化,之后可以添加自定义初始化过程。