tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

exceptions.js (1166B)


      1 function uncaughtException() {
      2  throw "unreachable"
      3 }
      4 
      5 function caughtException() {
      6  try {
      7    throw "reachable";
      8  } catch (e) {
      9    debugger;
     10  }
     11 }
     12 
     13 function deepError() {
     14  function a() { b(); }
     15  function b() { c(); }
     16  function c() { throw new Error(); }
     17 
     18  try {
     19    a();
     20  } catch (e) {}
     21 
     22  debugger;
     23 }
     24 
     25 function deepErrorFinally() {
     26  function a() { b(); }
     27  function b() {
     28    try {
     29      c();
     30    } finally {
     31      debugger;
     32    }
     33  }
     34  function c() { throw new Error(); }
     35 
     36  try {
     37    a();
     38  } catch (e) {}
     39 
     40  debugger;
     41 }
     42 
     43 function deepErrorCatch() {
     44  function a() { b(); }
     45  function b() {
     46    try {
     47      c();
     48    } catch (e) {
     49      debugger;
     50      throw e;
     51    }
     52  }
     53  function c() { throw new Error(); }
     54 
     55  try {
     56    a();
     57  } catch (e) {}
     58 
     59  debugger;
     60 }
     61 
     62 function deepErrorThrowDifferent() {
     63  function a() { b(); }
     64  function b() {
     65    try {
     66      c();
     67    } catch (e) {
     68      throw new Error();
     69    }
     70  }
     71  function c() { throw new Error(); }
     72 
     73  try {
     74    a();
     75  } catch (e) {}
     76 
     77  debugger;
     78 }
     79 
     80 function throwInNewFunctionArgument() {
     81  new Function("f=doesntExists()", "return 42;")();
     82 }
     83 
     84 function inlineExc() {
     85  'abc'.push(1);
     86 }
     87 
     88 inlineExc();