| OLD | NEW | 
 | (Empty) | 
|   1 // Copyright (c) 2011, the Dart project authors.  Please see the AUTHORS file |  | 
|   2 // for details. All rights reserved. Use of this source code is governed by a |  | 
|   3 // BSD-style license that can be found in the LICENSE file. |  | 
|   4 // Dart test program for testing throw statement |  | 
|   5  |  | 
|   6 class MyException { |  | 
|   7   const MyException(String message) : message_ = message; |  | 
|   8   final String message_; |  | 
|   9 } |  | 
|  10  |  | 
|  11 class Helper { |  | 
|  12   static int f1(int i) { |  | 
|  13     try { |  | 
|  14       i = func(); |  | 
|  15       i = 10; |  | 
|  16     } catch (MyException exception, var stacktrace) { |  | 
|  17       i = 50; |  | 
|  18       print(exception.message_); |  | 
|  19       Expect.equals((stacktrace != null), true); |  | 
|  20       print(stacktrace); |  | 
|  21     } |  | 
|  22     try { |  | 
|  23       int j; |  | 
|  24       i = func1(); |  | 
|  25       i = 200; |  | 
|  26     } catch (MyException exception, var stacktrace) { |  | 
|  27       i = 50; |  | 
|  28       print(exception.message_); |  | 
|  29       Expect.equals((stacktrace != null), true); |  | 
|  30       print(stacktrace); |  | 
|  31     } |  | 
|  32     try { |  | 
|  33       int j; |  | 
|  34       i = func2(); |  | 
|  35       i = 200; |  | 
|  36     } catch (MyException exception, var stacktrace) { |  | 
|  37       i = 50; |  | 
|  38       print(exception.message_); |  | 
|  39       Expect.equals((stacktrace != null), true); |  | 
|  40       print(stacktrace); |  | 
|  41     } finally { |  | 
|  42       i = i + 800; |  | 
|  43     } |  | 
|  44     return i; |  | 
|  45   } |  | 
|  46  |  | 
|  47   static int func() { |  | 
|  48     int i = 0; |  | 
|  49     while (i < 10) { |  | 
|  50       i++; |  | 
|  51     } |  | 
|  52     if (i > 0) { |  | 
|  53       throw new MyException("Exception Test for stack trace being printed"); |  | 
|  54     } |  | 
|  55     return 10; |  | 
|  56   } |  | 
|  57  |  | 
|  58   static int func1() { |  | 
|  59     try { |  | 
|  60       func(); |  | 
|  61     } catch (MyException exception) { |  | 
|  62       throw new MyException("Exception Test for stack trace being printed");; |  | 
|  63     } |  | 
|  64     return 10; |  | 
|  65   } |  | 
|  66  |  | 
|  67   static int func2() { |  | 
|  68     try { |  | 
|  69       func(); |  | 
|  70     } catch (MyException exception) { |  | 
|  71       throw; |  | 
|  72     } |  | 
|  73     return 10; |  | 
|  74   } |  | 
|  75  |  | 
|  76 } |  | 
|  77  |  | 
|  78 class StackTraceTest { |  | 
|  79   static testMain() { |  | 
|  80     Expect.equals(850, Helper.f1(1)); |  | 
|  81   } |  | 
|  82 } |  | 
|  83  |  | 
|  84 main() { |  | 
|  85   StackTraceTest.testMain(); |  | 
|  86 } |  | 
| OLD | NEW |