Re: static try method consolidation
thufir wrote:
Working from the Sun tutorial, to a degree. How can I combine tryIt()
and scanXan() into one method? Of course, it's silly to pass the String,
but what I mean is the try/catch and exception handling:
thufir@arrakis:~/bcit-comp2611-lab4$ cat src/a00720398/util/
DataException.java
package a00720398.util;
import a00720398.data.*;
import a00720398.util.*;
import a00720398.labs.*;
import java.util.*;
import java.io.*;
public abstract class DataException {
public static void tryIt(){
String[] foo = {"a","b","c"};
try{
scanXan(foo);
} catch (Exception e) {
System.out.println(e.getMessage());
e.printStackTrace();
}
}
public static void scanXan(String[] args) throws IOException {
Scanner s = null;
try {
s = new Scanner(new BufferedReader(new FileReader
("xanadu.txt")));
while (s.hasNext()) {
System.out.println(s.next());
}
} finally {
if (s != null) {
s.close();
}
}
}
}
Approach #1: Snip out the entire inside of scanXan() and
paste it in place of the method call, renaming foo to args or
args to foo (or getting rid of both).
Approach #2: As above, but consolidate the nested try/catch
structure from
try {
...
try {
...
}
finally {
...
}
} catch (Exception e) {
...
}
to the simpler
try {
...
} catch (Exception e) {
...
}
finally {
...
}
--
Eric.Sosman@sun.com