3v4l.org

run code in 300+ PHP versions simultaneously
<?php class FooNoMoreException extends Exception {} class Foo { protected $count = 500; public function step() { if (!$this->count) { throw new FooNoMoreException('No more steps to take.'); } $this->count--; } } $f = new Foo; try { while ($f->step() || true) {} } catch (FooNoMoreException $e) {} var_dump($f);

preferences:
34 ms | 402 KiB | 5 Q