source: doc/theses/andrew_beach_MMath/code/CondMatch.java@ eba9d27

ADT ast-experimental enum forall-pointer-decay jacob/cs343-translation new-ast-unique-expr pthread-emulation qualifiedEnum
Last change on this file since eba9d27 was ea593a3, checked in by Andrew Beach <ajbeach@…>, 4 years ago

First draft of all the exception benchmarks. There is an issue with the Cforall linking.

  • Property mode set to 100644
File size: 758 bytes
Line 
1// Conditional Match (or Re-Raise)
2
3class EmptyException extends Exception {}
4
5public class CondMatch {
6 static boolean should_catch = false;
7
8 static void throw_exception() throws EmptyException {
9 throw new EmptyException();
10 }
11
12 static void cond_catch() throws EmptyException {
13 try {
14 throw_exception();
15 } catch (EmptyException exc) {
16 if (!should_catch) {
17 throw exc;
18 }
19 }
20 }
21
22 public static void main(String[] args) {
23 int times = 1;
24 int total_frames = 1;
25 if (0 < args.length) {
26 times = Integer.parseInt(args[0]);
27 }
28 if (1 < args.length) {
29 total_frames = Integer.parseInt(args[1]);
30 }
31
32 for (int count = 0 ; count < times ; ++count) {
33 try {
34 cond_catch();
35 } catch (EmptyException exc) {
36 // ...
37 }
38 }
39 }
40}
Note: See TracBrowser for help on using the repository browser.