PHP - Как отловить ошибку «Попытка получить свойство не-объекта»

Я пытаюсь отловить ошибку «Попытка получить свойство не-объекта» с помощью оператора try / catch, но это не удается, я все равно получаю ошибку PHP. Я использую как:

try{
  $id = Model()->find('id=1')->id;
}catch(Exception $e){
  echo 'failed';
}

Моя функция поиска возвращает объект (Active Record), и я могу получить доступ к столбцу id, как показано через свойство объекта.

Однако это будет нулевой объект, если AR не найден. Я думал, что оператор try поймет это. Работой для меня было бы использование isset (). Но я не понимаю, почему оператор try не принимает и не перехватывает эту ошибку.

19
задан Jay 16 July 2011 в 01:05
поделиться