I have code like this:
try {
$var = $object->getCollection()->first()->getItem()->getName();
} catch(\\Exception $e) {
$var = null;
}
Use Throwable class instead Exception class:
try {
$var = $object->getCollection()->first()->getItem()->getName();
} catch(\Throwable $e) {
$var = null;
$msg = $e->getMessage();
}
Since PHP 7.0 exceptions thrown from fatal and recoverable errors are instances of a new and separate exception class: Error
. This new Error
class implements Throwable
interface, which specifies methods nearly identical to those of Exception
. Because Throwable
is higher in hierarchy you can catch with it both, \Error and \Exception.
interface Throwable
|- Exception implements Throwable
|- ...
|- Error implements Throwable
|- TypeError extends Error
|- ParseError extends Error
|- ArithmeticError extends Error
|- DivisionByZeroError extends ArithmeticError
|- AssertionError extends Error