xref: /aosp_15_r20/external/javassist/src/test/test1/GetThrowables.java (revision f1fbf3c2ab775ce834e0af96b7a85bdc7a0eac65)
1*f1fbf3c2SXin Li package test1;
2*f1fbf3c2SXin Li 
3*f1fbf3c2SXin Li class GetThrow1 extends Exception {
4*f1fbf3c2SXin Li 
5*f1fbf3c2SXin Li     /** default serialVersionUID */
6*f1fbf3c2SXin Li     private static final long serialVersionUID = 1L;
7*f1fbf3c2SXin Li }
8*f1fbf3c2SXin Li 
9*f1fbf3c2SXin Li class GetThrow2 extends Exception {
10*f1fbf3c2SXin Li 
11*f1fbf3c2SXin Li     /** default serialVersionUID */
12*f1fbf3c2SXin Li     private static final long serialVersionUID = 1L;
13*f1fbf3c2SXin Li }
14*f1fbf3c2SXin Li 
15*f1fbf3c2SXin Li public class GetThrowables {
16*f1fbf3c2SXin Li     int k = 0;
17*f1fbf3c2SXin Li 
m1()18*f1fbf3c2SXin Li     public void m1() throws GetThrow1, GetThrow2 {
19*f1fbf3c2SXin Li 	if (k < 0)
20*f1fbf3c2SXin Li 	    throw new GetThrow1();
21*f1fbf3c2SXin Li 	else if (k == 1)
22*f1fbf3c2SXin Li 	    throw new GetThrow2();
23*f1fbf3c2SXin Li 
24*f1fbf3c2SXin Li 	k = 1;
25*f1fbf3c2SXin Li     }
26*f1fbf3c2SXin Li 
run()27*f1fbf3c2SXin Li     public int run() throws GetThrow2 {
28*f1fbf3c2SXin Li 	int i = 0;
29*f1fbf3c2SXin Li 	try {
30*f1fbf3c2SXin Li 	    try {
31*f1fbf3c2SXin Li 		m1();
32*f1fbf3c2SXin Li 	    }
33*f1fbf3c2SXin Li 	    catch (GetThrow1 e) {
34*f1fbf3c2SXin Li 		i = 1;
35*f1fbf3c2SXin Li 		throw e;
36*f1fbf3c2SXin Li 	    }
37*f1fbf3c2SXin Li 	    finally {
38*f1fbf3c2SXin Li 		i += 3;
39*f1fbf3c2SXin Li 	    }
40*f1fbf3c2SXin Li 	}
41*f1fbf3c2SXin Li 	catch (GetThrow1 e2) {
42*f1fbf3c2SXin Li 	    ++i;
43*f1fbf3c2SXin Li 	}
44*f1fbf3c2SXin Li 
45*f1fbf3c2SXin Li 	return i;
46*f1fbf3c2SXin Li     }
47*f1fbf3c2SXin Li }
48