gpt4 book ai didi

PhpStorm 在注释 @throws 标记中无法识别我的自定义异常

转载 作者:行者123 更新时间:2023-12-05 05:15:05 25 4
gpt4 key购买 nike

我在构造中有一个自定义异常,但 PhpStorm 2018.2 无法识别类并说:

PHPDoc comment doesn't contain all necessary @throws tag(s)

use App\Domain\Common\Exception\InvalidUUIDException;
....
/**
* @param null|string $id
* @throws InvalidUUIDException
*/
public function __construct(string $id = null)
{
try {

$this->uuid = Uuid::fromString($id ?: Uuid::uuid4())->toString();

} catch (\InvalidArgumentException $e) {

throw new InvalidUUIDException();
}
}

最佳答案

我可以想到三种选择:

  1. 注释缺失的异常:

    /**
    * @param null|string $id
    * @throws InvalidUUIDException if `$id` is not a valid UUID
    * @throws \Exception if new UUID generation failed
    */
  2. 捕获丢失的异常:

    try {
    $this->uuid = Uuid::fromString($id ?: Uuid::uuid4())->toString();
    } catch (\InvalidArgumentException $e) {
    throw new InvalidUUIDException();
    } catch (\Exception $e) {
    // Do something interesting here
    }

    或者(这里不合适,因为两种异常都有不同的原因):

    try {
    $this->uuid = Uuid::fromString($id ?: Uuid::uuid4())->toString();
    } catch (\InvalidArgumentException | \Exception $e) {
    throw new InvalidUUIDException();
    }
  3. 忽略检查。

我认为这几乎涵盖了所有内容;-)

关于PhpStorm 在注释 @throws 标记中无法识别我的自定义异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51934138/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com