Hex Artifact Content Вы: nobody
Вход

Artifact 2857a4281b32789ee68fb66778316140851ec9cd:


0000: 24 65 6e 67 69 6e 65 20 4a 53 63 72 69 70 74 0d  $engine JScript.
0010: 0a 24 75 6e 61 6d 65 20 74 65 73 74 45 78 63 65  .$uname testExce
0020: 70 74 69 6f 6e 73 41 70 70 0d 0a 0d 0a 76 61 72  ptionsApp....var
0030: 20 6c 69 62 20 3d 20 61 64 64 69 6e 73 2e 62 79   lib = addins.by
0040: 55 6e 69 71 75 65 4e 61 6d 65 28 22 74 65 73 74  UniqueName("test
0050: 45 78 63 65 70 74 69 6f 6e 73 4c 69 62 22 29 3b  ExceptionsLib");
0060: 0d 0a 0d 0a 6c 69 62 2e 6f 62 6a 65 63 74 2e 53  ....lib.object.S
0070: 65 74 45 72 72 6f 72 48 61 6e 64 6c 65 72 28 45  etErrorHandler(E
0080: 72 72 6f 72 48 61 6e 64 6c 65 72 29 3b 0d 0a 0d  rrorHandler);...
0090: 0a 66 75 6e 63 74 69 6f 6e 20 45 72 72 6f 72 48  .function ErrorH
00a0: 61 6e 64 6c 65 72 28 65 78 63 65 70 74 29 0d 0a  andler(except)..
00b0: 7b 0d 0a 20 20 20 20 74 68 72 6f 77 20 65 78 63  {..    throw exc
00c0: 65 70 74 3b 0d 0a 7d 0d 0a 0d 0a 66 75 6e 63 74  ept;..}....funct
00d0: 69 6f 6e 20 6d 61 63 72 6f 73 c8 f1 ea eb fe f7  ion macros......
00e0: e5 ed e8 e5 cf f0 e8 c2 fb e7 ee e2 e5 d4 f3 ed  ................
00f0: ea f6 e8 e8 28 29 0d 0a 7b 0d 0a 20 20 20 20 74  ....()..{..    t
0100: 72 79 0d 0a 20 20 20 20 7b 0d 0a 20 20 20 20 20  ry..    {..     
0110: 20 20 20 6c 69 62 2e 6f 62 6a 65 63 74 2e 74 68     lib.object.th
0120: 72 6f 77 45 72 72 6f 72 46 75 6e 63 74 69 6f 6e  rowErrorFunction
0130: 28 29 3b 0d 0a 20 20 20 20 7d 0d 0a 20 20 20 20  ();..    }..    
0140: 63 61 74 63 68 20 28 65 29 0d 0a 20 20 20 20 7b  catch (e)..    {
0150: 0d 0a 20 20 20 20 20 20 20 20 4d 65 73 73 61 67  ..        Messag
0160: 65 28 22 47 6f 74 63 68 61 3a 20 22 20 2b 20 65  e("Gotcha: " + e
0170: 2e 6d 65 73 73 61 67 65 29 3b 0d 0a 20 20 20 20  .message);..    
0180: 7d 0d 0a 7d 0d 0a 0d 0a 66 75 6e 63 74 69 6f 6e  }..}....function
0190: 20 6d 61 63 72 6f 73 c8 f1 ea eb fe f7 e5 ed e8   macros.........
01a0: e5 cf f0 e8 cf f0 ee e3 f0 e0 ec ec ed ee ec c2  ................
01b0: fb e7 ee e2 e5 cc e0 ea f0 ee f1 e0 28 29 0d 0a  ............()..
01c0: 7b 0d 0a 20 20 20 20 74 72 79 0d 0a 20 20 20 20  {..    try..    
01d0: 7b 0d 0a 20 20 20 20 20 20 20 20 6c 69 62 2e 69  {..        lib.i
01e0: 6e 76 6f 6b 65 4d 61 63 72 6f 73 28 22 54 68 72  nvokeMacros("Thr
01f0: 6f 77 45 72 72 6f 72 4d 61 63 72 6f 73 22 29 3b  owErrorMacros");
0200: 0d 0a 20 20 20 20 7d 0d 0a 20 20 20 20 63 61 74  ..    }..    cat
0210: 63 68 20 28 65 29 0d 0a 20 20 20 20 7b 0d 0a 20  ch (e)..    {.. 
0220: 20 20 20 20 20 20 20 4d 65 73 73 61 67 65 28 22         Message("
0230: 47 6f 74 63 68 61 3a 20 22 20 2b 20 65 2e 74 65  Gotcha: " + e.te
0240: 78 74 29 3b 0d 0a 20 20 20 20 7d 0d 0a 7d 0d 0a  xt);..    }..}..
0250: 0d 0a 66 75 6e 63 74 69 6f 6e 20 6d 61 63 72 6f  ..function macro
0260: 73 c8 f1 ea eb fe f7 e5 ed e8 e5 cf f0 e8 c2 fb  s...............
0270: e7 ee e2 e5 d4 f3 ed ea f6 e8 e8 57 6f 72 6b 61  ...........Worka
0280: 72 6f 75 6e 64 28 29 0d 0a 7b 0d 0a 20 20 20 20  round()..{..    
0290: 74 72 79 0d 0a 20 20 20 20 7b 0d 0a 20 20 20 20  try..    {..    
02a0: 20 20 20 20 6c 69 62 2e 6f 62 6a 65 63 74 2e 74      lib.object.t
02b0: 68 72 6f 77 45 72 72 6f 72 46 75 6e 63 74 69 6f  hrowErrorFunctio
02c0: 6e 57 6f 72 6b 61 72 6f 75 6e 64 28 29 3b 0d 0a  nWorkaround();..
02d0: 20 20 20 20 7d 0d 0a 20 20 20 20 63 61 74 63 68      }..    catch
02e0: 20 28 65 29 0d 0a 20 20 20 20 7b 0d 0a 20 20 20   (e)..    {..   
02f0: 20 20 20 20 20 4d 65 73 73 61 67 65 28 22 47 6f       Message("Go
0300: 74 63 68 61 3a 20 22 20 2b 20 65 29 3b 0d 0a 20  tcha: " + e);.. 
0310: 20 20 20 7d 0d 0a 7d 0d 0a 0d 0a                    }..}....