Да, используйте исключения, если вы перехватываете исключение, вы можете установить для переменной значение false, а также получить сообщение об ошибке.
function foo($a = null) {
if(!$a) {
throw new Exception('$a must be defined');
}
}
try {
$var = foo();
} catch(Exception $e) {
$var = false;
echo $e->getMessage();
}
Таким образом, вы можете делать все что угодно, когда что-то идет не так.