为何我把main()函数里的System.err.println("xxxx");换成自定义的fail("xxxx");就出错了呢?? public static void main(String[] args) throws IllegalArgumentException 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 System.err.println("Usage: java Delete <file or directory>");改为:Delete.fail("Usage: java Delete <file or directory>");import java.io.*;public class Delete { public static void main(String[] args){ if(args.length!=1){ Delete.fail("Usage: java Delete <file or directory>"); System.exit(0); } try{ delete(args[0]); }catch(IllegalArgumentException e){ System.err.println(e.getMessage()); } } public static int delete(String filename){ File file = new File(filename); if(!file.exists()){ fail("Delete: no such file or directory:"+filename); return 0; } if(!file.canWrite()){ fail("Delete:Write protected:"+filename); return 0; } if(file.isDirectory()){ String[] files = file.list(); if(files.length>0){ fail("Delete:directory not empty:"+filename); return 0; } } boolean success = file.delete(); if(!success){ fail("Delete:deletion failed"); return 0; } return 1; } protected static void fail(String msg) throws IllegalArgumentException{ throw new IllegalArgumentException(msg); }} 因为你的fail会抛出异常,而你的 if(args.length!=1){ System.err.println("Usage: java Delete <file or directory>"); System.exit(0); }没有在捕获异常的范围内 jsp界面设计代码 double型的除数为什么可以为0? 本人欲购买scjp考试的官方英文版教材SL-275,哪位大侠有书想卖的请与本人联系! JTable如何隐藏某一列 关于dom读xml文件时,子节点数与实际文件中的节点数不一致的问题。多读了2个“#text” 关于拖放的几道问题?? 请问怎样可以实现整形数组,其长度可以动态变化 这种情况下如何编译一个java class? javaprof是什么东西? 如何用? 怎么用“?”传送中文字符? 请问 初学者的疑惑!
改为:
Delete.fail("Usage: java Delete <file or directory>");
import java.io.*;public class Delete {
public static void main(String[] args){
if(args.length!=1){
Delete.fail("Usage: java Delete <file or directory>");
System.exit(0);
}
try{
delete(args[0]);
}catch(IllegalArgumentException e){
System.err.println(e.getMessage());
}
}
public static int delete(String filename){
File file = new File(filename);
if(!file.exists()){
fail("Delete: no such file or directory:"+filename);
return 0;
}
if(!file.canWrite()){
fail("Delete:Write protected:"+filename);
return 0;
}
if(file.isDirectory()){
String[] files = file.list();
if(files.length>0){
fail("Delete:directory not empty:"+filename);
return 0;
}
}
boolean success = file.delete();
if(!success){
fail("Delete:deletion failed");
return 0;
}
return 1;
}
protected static void fail(String msg)
throws IllegalArgumentException{
throw new IllegalArgumentException(msg);
}
}
if(args.length!=1){
System.err.println("Usage: java Delete <file or directory>");
System.exit(0);
}
没有在捕获异常的范围内