检查属性是否存在而不抛出异常yii2

时间:2016-04-09 17:46:43

标签: yii2

根据数据库结果,我的对象的某些属性可能会被填充。

假设我有一个任务对象,如果有消息,那么它已填充$message属性:

if($task->message === null)
        throw new ErrorException('what the ...');

问题是,每当我想检查是否填充了此属性(访问它)时,它都会抛出获取未知属性异常并且执行终止。

2 个答案:

答案 0 :(得分:0)

我认为您可以尝试使用isset

if (isset($task->message ))   {
  // your code for is setted 

} else {

  // your code for not setted 
}

答案 1 :(得分:0)

Try-catch 块也有效:

use yii\base\Exception;

[...]

try {

  echo $task->message;

} catch (Exception $e) { 
  // stuff
}