| 1 | public class res { | 
|---|
| 2 | private ires res; | 
|---|
| 3 | public res(ires res) { | 
|---|
| 4 | this.res = res; | 
|---|
| 5 | } | 
|---|
| 6 |  | 
|---|
| 7 | public void dotest(String msg, int open, int write, int close) { | 
|---|
| 8 | try { | 
|---|
| 9 | System.out.println(msg); | 
|---|
| 10 | FileOutputStream.throwOnOpen = open; | 
|---|
| 11 | FileOutputStream.throwOnWrite = write; | 
|---|
| 12 | FileOutputStream.throwOnClose = close; | 
|---|
| 13 | res.write("foo.txt", "output message"); | 
|---|
| 14 | } catch (Exception ex) { | 
|---|
| 15 | } | 
|---|
| 16 | FileOutputStream.numOpens = 0; | 
|---|
| 17 | FileOutputStream.numWrites = 0; | 
|---|
| 18 | FileOutputStream.numCloses = 0; | 
|---|
| 19 | System.gc(); | 
|---|
| 20 | System.runFinalization(); | 
|---|
| 21 | System.out.println(); | 
|---|
| 22 | System.out.flush(); | 
|---|
| 23 | } | 
|---|
| 24 |  | 
|---|
| 25 | public static void dotest(ires res) { | 
|---|
| 26 | res r = new res(res); | 
|---|
| 27 | r.dotest("Exception on open 1",  1, 0, 0); | 
|---|
| 28 | r.dotest("Exception on open 2",  2, 0, 0); | 
|---|
| 29 | r.dotest("Exception on write 1", 0, 1, 0); | 
|---|
| 30 | r.dotest("Exception on write 2", 0, 2, 0); | 
|---|
| 31 | r.dotest("Exception on close 1", 0, 0, 1); | 
|---|
| 32 | r.dotest("Exception on close 2", 0, 0, 2); | 
|---|
| 33 | } | 
|---|
| 34 | } | 
|---|