Скажем, в классе у меня есть эти очень надуманные методы:
/**
* @param bool $flag
* @throws \InvalidArgumentException _bubbled up_ if $flag is not bool
*/
public function fu($flag){
$this->bar($flag);
}
/**
* @param bool $flag
* @throws \InvalidArgumentException if $flag is not bool
*/
private function bar($flag) {
if (!is_bool($flag)){
throw new \InvalidArgumentException('bool required');
}
}
Так как только fu()
Публично, разработчики, просматривающие мой API, могут не видеть, что bar()
может бросить исключение. Я чувствовал, что было бы неплохо добавить дополнительные @throws
тег к fu()
поэтому разработчики будут знать, что они могут захотеть поймать исключение, когда они его называют.
Это хорошая идея или плохая? Зачем?
Задача ещё не решена.
Других решений пока нет …