12345678910111213141516171819202122232425262728293031323334 |
- <?php {
- class Foo {
- private $v8 = NULL;
- public function __construct()
- {
- $this->v8 = new V8Js(null, array(), false);
- $this->v8->foo = $this;
- // $this->v8->executeString('asdasda< / sd', 'trycatch0');
- // $this->v8->executeString('blahnothere', 'trycatch1');
- // $this->v8->executeString('throw new SyntaxError();', 'throw');
- // $this->v8->executeString('function foo() {throw new SyntaxError();}', 'trycatch2');
- // $this->v8->executeString('try { foo(); } catch (e) { print(e + " catched by pure JS!\n"); }', 'trycatch3');
- // $this->v8->executeString('try { PHP.foo.bar(); } catch (e) { print(e + " catched via PHP callback!\n"); }', 'trycatch4');
- // $this->v8->executeString('try { PHP.foo.bar(); } catch (e) { print("catched!\n"); }', 'trycatch5');
- // $this->v8->executeString('try { PHP.foo.bar(); } catch (e) { print("catched!\n"); }', 'trycatch5');
- var_dump($this->v8->getPendingException());
- }
- public function bar()
- {
- // $this->v8->executeString('asdasda< / sd', 'trycatch0');
- // $this->v8->executeString('blahnothere', 'trycatch1');
- $this->v8->executeString('throw new Error();', 'throw');
- }
- }
-
- try {
- $foo = new Foo();
- } catch (V8JsException $e) {
- echo "PHP Exception: ", $e->getMessage(), "\n";
- }
- }
|