Throwing and Catching Exceptions
PHP 5 has introduced an exception model that allows
objects to be thrown and caught using the throw and try...catch
statements.
The throw and try...catch statements provide a way of
jumping to error handling code in exceptional circumstances: rather than
terminating a script with a fatal error, exceptions are
thrown, and can be caught and
processed. The throw statement is
always used in conjunction with the try...catch statement, and the following
fragment shows the basic structure:
$total = 100;
$n = 5;
$result;
try
{
// Check the value of $n before we use it
if ($n == 0)
throw new Exception("Can't set n to zero.");
// Calculate an average
$result = $total / $n;
}
catch (Exception $x)
{
print "There was an error: {$x->getMessage( )};
}The block of statements contained in the braces that follow the
try keyword are executed normally as
part of the script; the braces are required, even for a single
statement. If a throw statement is
called in the try block, then the
statements contained in the braces that follow the catch keyword are executed. The throw statement throws an object and the
catch block of code
catches the thrown object, assigning it to the
variable specified.
The catch statement specifies the type of object that is
caught by placing the class name before the variable: the following
fragment catches Exception objects
and assigns them to the variable $x:
catch (Exception $x)
{
print "There was an error: {$x->getMessage( )};
}Specifying ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access