繁体   English   中英

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

[英]php how to catch exception when assigning to variable

我的代码中有一些类。 从这些类中,我启动对象,例如

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

这应该给出myGoodObject的类别对象。 但是,例如,如果在数据库中未定义类别ID例如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..catch块

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

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

不要抓住它,只是在使用它之前确保它在那里。

if(isset($myGoodObject->categoryId)){
    $c = new category ($myGoodObject->categoryId); 
    //...
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM