| 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 (V8JsScriptException $e) {      echo "PHP Exception: ", $e->getMessage(), "\n";    }}
 |