Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/271.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 我的方法是否应该引发异常?_Php_Exception - Fatal编程技术网

Php 我的方法是否应该引发异常?

Php 我的方法是否应该引发异常?,php,exception,Php,Exception,我的PHPWeb应用程序分为几个模块,我使用数据模型和数据映射器模式。我的映射器方法是静态的,它们专门用于与数据库交互 我有以下方法: ModuleMapper::getRecordCountByModuleIdAndSiteId($moduleId, $siteId) 这个方法只适用于一组模块(我有一个很好的理由)。如果为集合列表之外的模块调用此方法(例如“无法检索此模块的记录计数”),则引发异常是否合理 另一个选项是只返回0。取决于您希望如何处理错误。我使用zend框架,它自动捕获异常并将

我的PHPWeb应用程序分为几个模块,我使用数据模型和数据映射器模式。我的映射器方法是静态的,它们专门用于与数据库交互

我有以下方法:

ModuleMapper::getRecordCountByModuleIdAndSiteId($moduleId, $siteId)
这个方法只适用于一组模块(我有一个很好的理由)。如果为集合列表之外的模块调用此方法(例如“无法检索此模块的记录计数”),则引发异常是否合理


另一个选项是只返回0。

取决于您希望如何处理错误。我使用zend框架,它自动捕获异常并将它们转发给错误控制器,以便进行漂亮的显示和日志记录。显然,除非显式捕获,否则该方法将终止处理。但它简化了错误显示和日志记录

您也可以返回0并执行if语句来显示内联消息,或者捕获错误并显示内联消息

try {
  $recordCount = ModuleMapper::getRecordCountByModuleIdAndSiteId($moduleId, $siteId);
}
catch (Exception $e) {
  // handle exception
}