php如何在分配给变量时捕获异常


php how to catch exception when assigning to variable

我的代码中有一些类。我从这些类中初始化对象,比如

$c = new category ($myGoodObject->categoryId); 

这应该给出myGoodObject的类别对象。然而,例如,若数据库中未定义categoryId(例如1000),则该类将抛出异常。

我该怎么抓住这个?从数据库中启动/加载有时可能不存在的对象的最佳实践是什么?如何避免失败?

谢谢!

编辑:

我试过这个:

try {
$c = new category (1000);
} catch (Exception $e) {return false;}

但没有奏效。

try
{
    $c = new category ($myGoodObject->categoryId); 
} 
catch (Exception $e) 
{
    echo 'Caught exception: ',  $e->getMessage(), "'n";
}

至于最佳实践,您应该首先尝试读取数据库以查看该值是否存在,如果不存在,则不尝试创建对象,从而避免出现异常。

如果抛出异常,请使用try。。捕获块

try {
   //try assigning 
catch (Exception $e) {
   //do something
}

查看此处了解有关异常的更多详细信息

不要捕获它,只需在使用它之前确保它在那里…

if(isset($myGoodObject->categoryId)){
    $c = new category ($myGoodObject->categoryId); 
    //...
}
相关文章: