THROW

PHP code

<?php
/*
 * 
 * opcode number: 108
 */
try {
    $error = 'Always throw this error';
    throw new Exception($error);

    // Code following an exception is not executed.
    echo 'Never executed';

} catch (Exception $e) {
    echo 'Caught exception: ',  $e->getMessage(), "\n";
}

// Continue execution
echo 'Hello World';
?>

PHP opcodes

Function name: (null)

Compiled variables: !0=$error, !1=$e

line#opfetchextreturnoperands
70ASSIGN   !0,'Always+throw+this+error'
81ZEND_FETCH_CLASS  :1'Exception'
 2NEW  $2:1
 3SEND_VAR   !0
 4DO_FCALL_BY_NAME 1  
 5ZEND_THROW 0 $2
116ECHO   'Never+executed'
137JMP   ->15
 8ZEND_FETCH_CLASS  :4'Exception'
 9ZEND_CATCH 15 $4,!1
1410ECHO   'Caught+exception%3A+'
 11ZEND_INIT_METHOD_CALL   !1,'getMessage'
 12DO_FCALL_BY_NAME 0  
 13ECHO   $6
 14ECHO   '%0A'
1815ECHO   'Hello+World'
1916RETURN   1