<?PHP
class Executor
{
public function go()
{
try
{
// 1. Throw exception in try block.
throw new Exception("Failed to do something!");
return true;
}
finally
{
// 2. Throw and handle exception within finally block.
// Note, this step could occur in a function/method which
// is called within the finally block.
try
{
throw new Exception("Failed to clean up.");
}
catch (Exception $E) { /* Ignore */ }
}
}
}
$Executor = new Executor();
// 3. Reference the return value.
$value = $Executor->go();
Fatal error: Uncaught Exception: Failed to do something! in /in/ifvo6:10
Stack trace:
#0 /in/ifvo6(30): Executor->go()
#1 {main}
thrown in /in/ifvo6 on line 10
Process exited with code 255.
Output for 5.6.0 - 5.6.28
Fatal error: Uncaught exception 'Exception' with message 'Failed to do something!' in /in/ifvo6:10
Stack trace:
#0 /in/ifvo6(30): Executor->go()
#1 {main}
thrown in /in/ifvo6 on line 10
Process exited with code 255.
Output for 5.5.0 - 5.5.35
Process exited with code 139.
Output for 5.4.0 - 5.4.45
Parse error: syntax error, unexpected 'finally' (T_STRING), expecting catch (T_CATCH) in /in/ifvo6 on line 13
Process exited with code 255.
Parse error: syntax error, unexpected T_STRING, expecting T_CATCH in /in/ifvo6 on line 13
Process exited with code 255.
Output for 5.0.0 - 5.0.5
Parse error: parse error, unexpected T_STRING, expecting T_CATCH in /in/ifvo6 on line 13
Process exited with code 255.
Output for 4.4.2 - 4.4.9
Parse error: syntax error, unexpected T_STRING, expecting T_OLD_FUNCTION or T_FUNCTION or T_VAR or '}' in /in/ifvo6 on line 5
Process exited with code 255.
Parse error: parse error, unexpected T_STRING, expecting T_OLD_FUNCTION or T_FUNCTION or T_VAR or '}' in /in/ifvo6 on line 5
Process exited with code 255.
Output for 4.3.2 - 4.3.4
Parse error: parse error, expecting `T_OLD_FUNCTION' or `T_FUNCTION' or `T_VAR' or `'}'' in /in/ifvo6 on line 5
Process exited with code 255.