说我有以下php文件:
<?php
main();
function main() {
echo shouldNotThrowException();
}
/**
* Dummy function
*
* @param $x
* A positive int
*
* @return
* Returns $x if positive
*
* @throws
* Exception
*/
function throwsException($x) {
if ($x < 0) {
throw Exception(__FUNCTION__ . ': x cannot be negative.');
}
return $x;
}
/**
* Dummy function
*
* @return
* Returns 4.
*/
function shouldNotThrowException() {
return throwsException(4);
}
我可以使用Doxygen或其他工具警告我shouldNotThrowException()
会抛出异常,但是没有记录吗?
我的理由是,有时在复杂的代码库中,有许多函数,我们有时会忘记在适当的地方捕获异常。例如,Drupal挂钩应该永远不会抛出异常,而是使用drupal_set_message()
或watchdog()
正确记录它们。但是,有些程序员可能会调用Drupal钩子中的函数,这些钩子本身会抛出异常,而不会正确地捕获和显示/记录它们。我希望我的持续集成服务器运行doxygen并警告我这种情况。