关于例外
以下是ZDNET上的一段代码:
static public void deleteDirectory(File dir) throws IOException {
if( (dir == null) || !dir.isDirectory) {
throw new IllegalArgumentException(
"Argument "+dir+" is not a directory. "
);
}
File[ ] entries = dir.listFiles( );
int sz = entries.length;
for(int i=0; i<sz; i++) {
if(entries[i].isDirectory( )) {
deleteDirectory(entries[i]);
} else {
entries[i].delete( );
}
}
dir.delete();
}
我想问的是:这段代码是否完全正确?可以加throws吗?递归调用要不要加try-catch?
问题点数:20、回复次数:4Top
1 楼Norse(蓝精灵)回复于 2002-11-10 11:08:49 得分 0
???Top
2 楼fastmask(我心烦)回复于 2002-11-10 11:10:59 得分 0
正确,可以加throws。递归调用不用加try-catch,你只要在第一次调用deleteDirectory的地方try就行了。Top
3 楼fastmask(我心烦)回复于 2002-11-10 11:11:55 得分 20
还有就是IllegalArgumentException的异常,可以不用throws来描述Top
4 楼Norse(蓝精灵)回复于 2002-11-12 10:46:53 得分 0
thanksTop




