3v4l.org

run code in 300+ PHP versions simultaneously
<?php try { try { try { try { try{ try{ throw new Exception('hi', 1); } Catch (Exception $e) { throw new Exception('hi', 2, $e); } } Catch (Exception $e) { throw new Exception('hi', 3, $e); } } Catch (Exception $e) { throw new Exception('hi', 4, $e); } } Catch (Exception $e) { throw new Exception('hi', 5, $e); } } Catch (Exception $e) { throw new Exception('hi', 6, $e); } } catch (Exception $e) { echo $e->getMessage(), "\n"; while ($e = $e->getPreviousException()) { echo $e->getMessage(), "\n"; } }
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 108) Position 1 = -2
Found catch point at position: 6
Branch analysis from position: 6
2 jumps found. (Code = 107) Position 1 = 7, Position 2 = -2
Branch analysis from position: 7
1 jumps found. (Code = 108) Position 1 = -2
Found catch point at position: 14
Branch analysis from position: 14
2 jumps found. (Code = 107) Position 1 = 15, Position 2 = -2
Branch analysis from position: 15
1 jumps found. (Code = 108) Position 1 = -2
Found catch point at position: 22
Branch analysis from position: 22
2 jumps found. (Code = 107) Position 1 = 23, Position 2 = -2
Branch analysis from position: 23
1 jumps found. (Code = 108) Position 1 = -2
Found catch point at position: 30
Branch analysis from position: 30
2 jumps found. (Code = 107) Position 1 = 31, Position 2 = -2
Branch analysis from position: 31
1 jumps found. (Code = 108) Position 1 = -2
Found catch point at position: 38
Branch analysis from position: 38
2 jumps found. (Code = 107) Position 1 = 39, Position 2 = -2
Branch analysis from position: 39
1 jumps found. (Code = 108) Position 1 = -2
Found catch point at position: 46
Branch analysis from position: 46
2 jumps found. (Code = 107) Position 1 = 47, Position 2 = -2
Branch analysis from position: 47
1 jumps found. (Code = 42) Position 1 = 56
Branch analysis from position: 56
2 jumps found. (Code = 44) Position 1 = 60, Position 2 = 52
Branch analysis from position: 60
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 52
2 jumps found. (Code = 44) Position 1 = 60, Position 2 = 52
Branch analysis from position: 60
Branch analysis from position: 52
filename:       /in/K3tsH
function name:  (null)
number of ops:  61
compiled vars:  !0 = $e
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
    9     0  E >   NEW                                              $1      'Exception'
          1        SEND_VAL_EX                                              'hi'
          2        SEND_VAL_EX                                              1
          3        DO_FCALL                                      0          
          4      > THROW                                         0          $1
          5*       JMP                                                      ->13
   10     6  E > > CATCH                                       last         'Exception'
   11     7    >   NEW                                              $3      'Exception'
          8        SEND_VAL_EX                                              'hi'
          9        SEND_VAL_EX                                              2
         10        SEND_VAR_EX                                              !0
         11        DO_FCALL                                      0          
         12      > THROW                                         0          $3
         13*       JMP                                                      ->21
   13    14  E > > CATCH                                       last         'Exception'
   14    15    >   NEW                                              $5      'Exception'
         16        SEND_VAL_EX                                              'hi'
         17        SEND_VAL_EX                                              3
         18        SEND_VAR_EX                                              !0
         19        DO_FCALL                                      0          
         20      > THROW                                         0          $5
         21*       JMP                                                      ->29
   16    22  E > > CATCH                                       last         'Exception'
   17    23    >   NEW                                              $7      'Exception'
         24        SEND_VAL_EX                                              'hi'
         25        SEND_VAL_EX                                              4
         26        SEND_VAR_EX                                              !0
         27        DO_FCALL                                      0          
         28      > THROW                                         0          $7
         29*       JMP                                                      ->37
   20    30  E > > CATCH                                       last         'Exception'
   21    31    >   NEW                                              $9      'Exception'
         32        SEND_VAL_EX                                              'hi'
         33        SEND_VAL_EX                                              5
         34        SEND_VAR_EX                                              !0
         35        DO_FCALL                                      0          
         36      > THROW                                         0          $9
         37*       JMP                                                      ->45
   23    38  E > > CATCH                                       last         'Exception'
   24    39    >   NEW                                              $11     'Exception'
         40        SEND_VAL_EX                                              'hi'
         41        SEND_VAL_EX                                              6
         42        SEND_VAR_EX                                              !0
         43        DO_FCALL                                      0          
         44      > THROW                                         0          $11
         45*       JMP                                                      ->60
   26    46  E > > CATCH                                       last         'Exception'
   27    47    >   INIT_METHOD_CALL                                         !0, 'getMessage'
         48        DO_FCALL                                      0  $13     
         49        ECHO                                                     $13
         50        ECHO                                                     '%0A'
   28    51      > JMP                                                      ->56
   29    52    >   INIT_METHOD_CALL                                         !0, 'getMessage'
         53        DO_FCALL                                      0  $14     
         54        ECHO                                                     $14
         55        ECHO                                                     '%0A'
   28    56    >   INIT_METHOD_CALL                                         !0, 'getPreviousException'
         57        DO_FCALL                                      0  $15     
         58        ASSIGN                                           ~16     !0, $15
         59      > JMPNZ                                                    ~16, ->52
   31    60    > > RETURN                                                   1

Generated using Vulcan Logic Dumper, using php 8.0.0


preferences:
190.98 ms | 1390 KiB | 13 Q