所以我有一些代码
new DrawerBuilder().withActivity(this).build();
到目前为止,我会做类似的事情
public function getPrices($debtorId)
{
$priceListId = $this->getPriceListId($debtorId);
if(!$priceListId){
throw new \Exception('No list found for this customer');
}
// doing some operations here that require $priceListId
return $prices;
区别在于,如果我想,我可以捕获异常,而exit语句则无法实现。
但是,在这种情况下,我确实希望程序退出。但是我的IDE警告我,我没有捕捉到异常。所以,我现在真的应该这样做吗?
if(!$priceListId) exit('No list found for this customer');
在我看来,后者似乎是不必要的,实际上是在降低代码质量。因此:故意不捕获某些异常是否可以接受?还是我应该一起摆脱异常,而只使用普通的旧try {
$prices = $priceHandler->getPrices($debtorId);
} catch(Exception $e) {
exit($e->getMessage());
}
?
我尝试搜索此问题,但仅获得有关尝试/捕获无法正常工作的技术人员的结果。
答案 0 :(得分:3)
否,如果您不想在这里捕获异常。
即使您想捕获它,它也很可能在其他地方,因此您绝对不必将其包装在try-catch中。
相反,您应该告诉IDE此方法应该引发异常:
/**
* @throws \Exception
*/
public function getPrices($debtorId)