3v4l.org

run code in 200+ php & hhvm versions
Bugs & Features
<?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"; } }

Shows result from various feature-branches currently under review from the php developers. Contact me to have additional branches featured.

Output for Typed properties v2
hi Fatal error: Uncaught Error: Call to undefined method Exception::getPreviousException() in /in/K3tsH:28 Stack trace: #0 {main} thrown in /in/K3tsH on line 28
Output for Array change keys
hi Fatal error: Uncaught Error: Call to undefined method Exception::getPreviousException() in /in/K3tsH:28 Stack trace: #0 {main} thrown in /in/K3tsH on line 28
Output for Lexical anon
hi Fatal error: Call to undefined method Exception::getPreviousException() in /in/K3tsH on line 28

Archived branches

Once feature-branches are merged or declined, they are no longer available. Their functionality (when merged) can be viewed from the main output page