3v4l.org

run code in 300+ PHP versions simultaneously
<?php function save_order() { if(1==1){ throw new exception('caught exception'); } } function set_order_number() { echo 'SET_ORDER_NUMBER'.PHP_EOL; } function set_plan_id() { echo 'SET PLAN ID'.PHP_EOL; } try{ save_order(); //for testing purposed, guaranteed to throw exception set_order_number(); set_plan_id(); //WHY DOES THIS STILL EXECUTE? }catch(Exception $e){ header('Internal Server Error', true, 500); //echo http_response_code().PHP_EOL; echo json_encode(array('msg'=>$e->getMessage())); exit; }
Output for 5.5.0 - 5.5.38, 5.6.0 - 5.6.38, 7.0.0 - 7.0.33, 7.1.0 - 7.1.25, 7.2.0 - 7.2.33, 7.3.0 - 7.3.33, 7.4.0 - 7.4.33, 8.0.0 - 8.0.30, 8.1.0 - 8.1.31, 8.2.0 - 8.2.26, 8.3.0 - 8.3.14, 8.4.1
{"msg":"caught exception"}

preferences:
48.91 ms | 408 KiB | 5 Q