test_exception.php 646 B

1234567891011121314151617181920212223242526
  1. <?php {
  2. class Foo {
  3. private $v8 = NULL;
  4. public function __construct()
  5. {
  6. $this->v8 = new V8Js();
  7. $this->v8->foo = $this;
  8. var_dump($this->v8->executeString('throw 1; PHP.foo.bar();', 'trycatch1'));
  9. var_dump($this->v8->executeString('try { PHP.foo.bar(); } catch (e) { print("catched!\n"); }', 'trycatch2'));
  10. }
  11. public function bar()
  12. {
  13. echo "To Bar!\n";
  14. var_dump($this->v8->executeString('throw new Error();', 'throw'));
  15. }
  16. }
  17. try {
  18. $foo = new Foo();
  19. } catch (V8JsException $e) {
  20. echo "PHP Exception: ", $e->getMessage(), "\n"; //var_dump($e);
  21. }
  22. }