labo86/exception_with_data

支持数据数组的一个Exception类

这个包的官方仓库似乎已经不存在了,因此该包已经被冻结。

3.0.0 2020-10-08 11:41 UTC

This package is auto-updated.

Last update: 2024-06-24 23:45:01 UTC


README

labo86\exception_with_data

支持数据数组的一个Exception类

Latest Stable Version Total Downloads License Build Status codecov.io Code Coverage Code Climate Hecho en Chile

用法

use \labo86\exception_with_data\ExceptionWithData;

try {
    throw new ExceptionWithData(
        "division by zero",
        [
          "dividend" => 100,
          "divisor" => 0
        ]);

} catch ( ExceptionWithData $exception ) {
    print_r($exception->getData());
}

基础

这是一个解决在PHP异常中添加数据问题的库。我不太赞成为如此简单的功能创建一个库,但几乎所有的项目都需要这个功能。

此外,如果这个代码被以任何形式重复,就需要有多个捕获。

try {
    //something
} catch ( \lib_1\ExceptionWithData $e ) {
    //handle 1
} catch ( \lib_2\ExceptionWithData $e ) {
    //handle 2
} catch ( \lib_3\ExceptionWithData $e ) {
    //handle 3     
}

我为类选择了一个奇怪的名字,以表明我实际上想要以某种方式改变它。希望将来PHP的核心中可以添加一个新的异常类型。

现在还考虑了新的处理和工具,例如

安装

composer require labo86/exception_with_data

我的开发机器信息

system_info.sh的输出

+ hostnamectl
+ grep -e 'Operating System:' -e Kernel:
  Operating System: Ubuntu 20.04 LTS
            Kernel: Linux 5.4.0-33-generic
+ php --version
PHP 7.4.3 (cli) (built: May 26 2020 12:24:22) ( NTS )
Copyright (c) The PHP Group
Zend Engine v3.4.0, Copyright (c) Zend Technologies
    with Zend OPcache v7.4.3, Copyright (c), by Zend Technologies
    with Xdebug v2.9.2, Copyright (c) 2002-2020, by Derick Rethans

注意