Php 我的方法是否应该引发异常?
我的PHPWeb应用程序分为几个模块,我使用数据模型和数据映射器模式。我的映射器方法是静态的,它们专门用于与数据库交互 我有以下方法:Php 我的方法是否应该引发异常?,php,exception,Php,Exception,我的PHPWeb应用程序分为几个模块,我使用数据模型和数据映射器模式。我的映射器方法是静态的,它们专门用于与数据库交互 我有以下方法: ModuleMapper::getRecordCountByModuleIdAndSiteId($moduleId, $siteId) 这个方法只适用于一组模块(我有一个很好的理由)。如果为集合列表之外的模块调用此方法(例如“无法检索此模块的记录计数”),则引发异常是否合理 另一个选项是只返回0。取决于您希望如何处理错误。我使用zend框架,它自动捕获异常并将
ModuleMapper::getRecordCountByModuleIdAndSiteId($moduleId, $siteId)
这个方法只适用于一组模块(我有一个很好的理由)。如果为集合列表之外的模块调用此方法(例如“无法检索此模块的记录计数”),则引发异常是否合理
另一个选项是只返回0。取决于您希望如何处理错误。我使用zend框架,它自动捕获异常并将它们转发给错误控制器,以便进行漂亮的显示和日志记录。显然,除非显式捕获,否则该方法将终止处理。但它简化了错误显示和日志记录 您也可以返回0并执行if语句来显示内联消息,或者捕获错误并显示内联消息
try {
$recordCount = ModuleMapper::getRecordCountByModuleIdAndSiteId($moduleId, $siteId);
}
catch (Exception $e) {
// handle exception
}