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

ADTast-experimentalenumforall-pointer-decayjacob/cs343-translationnew-ast-unique-exprpthread-emulationqualifiedEnum
Last change on this file since cf444b6 was ea593a3, checked in by Andrew Beach <ajbeach@…>, 3 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.