3v4l.org

run code in 500+ PHP versions simultaneously
<?php function f(&$gen) { yield 'foo'; $gen->throw(new Exception()); } $gen = f($gen); foreach($gen as $_) {} ?>
Output for 8.3.25 - 8.3.30, 8.4.12 - 8.4.18, 8.5.0 - 8.5.3
Fatal error: Uncaught Error: Cannot resume an already running generator in /in/mlt4G:5 Stack trace: #0 /in/mlt4G(5): Generator->throw(Object(Exception)) #1 /in/mlt4G(9): f(Object(Generator)) #2 {main} thrown in /in/mlt4G on line 5
Process exited with code 255.
Output for 8.2.21 - 8.2.29, 8.3.9 - 8.3.24, 8.4.1 - 8.4.11
Warning: Uncaught Exception in /in/mlt4G:5 Stack trace: #0 /in/mlt4G(9): f(Object(Generator)) #1 {main} thrown in /in/mlt4G on line 5 Fatal error: Allowed memory size of 67108864 bytes exhausted (tried to allocate 20480 bytes) in /in/mlt4G on line 5
Process exited with code 255.
Output for 8.1.0 - 8.1.34, 8.2.0 - 8.2.20, 8.3.0 - 8.3.8
Fatal error: Uncaught Exception in /in/mlt4G:5 Stack trace: #0 /in/mlt4G(9): f(Object(Generator)) #1 {main} Next Error: Cannot resume an already running generator in /in/mlt4G:5 Stack trace: #0 /in/mlt4G(5): Generator->throw(Object(Exception)) #1 /in/mlt4G(9): f(Object(Generator)) #2 {main} thrown in /in/mlt4G on line 5
Process exited with code 255.
Output for 8.2.30
Warning: Uncaught Exception in /in/mlt4G:5 Stack trace: #0 /in/mlt4G(9): f(Object(Generator)) #1 {main} thrown in /in/mlt4G on line 5 Fatal error: Out of memory (allocated 48238592 bytes) (tried to allocate 20480 bytes) in /in/mlt4G on line 5 mmap() failed: [12] Cannot allocate memory mmap() failed: [12] Cannot allocate memory
Process exited with code 255.

preferences:
68.81 ms | 1019 KiB | 4 Q