我应该如何使用PHPDoc来记录一个方法;不';“t扔”吗;?
下面这节课是我指的一个人为的例子。如果向此类中的我应该如何使用PHPDoc来记录一个方法;不';“t扔”吗;?,php,exception-handling,phpdoc,Php,Exception Handling,Phpdoc,下面这节课是我指的一个人为的例子。如果向此类中的get方法传递了错误的id,则该方法将引发异常,该id记录在它的phpdoc块中。另外两个方法getApple&getBanana永远不会引发异常,因为我们知道这些ID存在 不幸的是,PHPStorm仍然会抱怨未处理的异常,向这些方法添加@throws标记似乎是在撒谎,因为它们不可能抛出异常 有没有办法记录这个场景 示例类 类水果 { 常数苹果=1; 常数香蕉=2; /** *@返回字符串 */ 公共函数getApple():字符串 { retur
get
方法传递了错误的id,则该方法将引发异常,该id记录在它的phpdoc块中。另外两个方法getApple
&getBanana
永远不会引发异常,因为我们知道这些ID存在
不幸的是,PHPStorm仍然会抱怨未处理的异常,向这些方法添加@throws
标记似乎是在撒谎,因为它们不可能抛出异常
有没有办法记录这个场景
示例类
类水果
{
常数苹果=1;
常数香蕉=2;
/**
*@返回字符串
*/
公共函数getApple():字符串
{
return$this->get(self::APPLE);
}
/**
*@返回字符串
*/
公共函数getBanana():字符串
{
返回$this->get(self::BANANA);
}
/**
*@param int$fructid
*@返回字符串
*@notfoundexception
*/
公共函数get($fructId):字符串
{
开关($FROUTID){
case self::苹果:
返回“苹果!”;
case self::香蕉:
返回“香蕉!”;
违约:
抛出新的FruitNotFoundException();
}
}
}
无论是getApple()
还是getBanana()
都使用可能引发异常的$this->get()
方法,因此使用这些方法中的任何一种都可能导致引发异常。是的,我理解这一点。但是,这些方法不可能抛出异常,因为我们可以看到代码的路径。它们传递的ID是正确的。有可能引发异常,例如,当您更改传递到get()
的ID时,或者如果从开关中删除了其中一个案例。我同意在当前状态下不会抛出异常,但是@throws
表示在某些情况下可以抛出异常。请记住,您可以提供描述来描述这些情况。