3v4l.org

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

Generated using Vulcan Logic Dumper, using php 8.0.0


preferences:
153.7 ms | 1390 KiB | 13 Q