public static void copy(File src, File dest){
if( !src.exists() || !dest.isDirectory())
throw new IllegalAccessException("源不存在或者目标不是一个文件夹");//**************
if(src.equals(dest))
throw new IllegalArgumentException("无法复制" + src.getName() + ": 目标文件夹和源文件夹相同");
if(src.equals(dest.getParentFile()))
throw new IllegalArgumentException("无法复制" + src.getName() + ": 目标文件夹是源文件夹的子文件夹");
if(src.isDirectory())
dirCopy(src, dest);
if(src.isFile())
fileCopy(src, dest);
}
if( !src.exists() || !dest.isDirectory())
throw new IllegalAccessException("源不存在或者目标不是一个文件夹");//**************
if(src.equals(dest))
throw new IllegalArgumentException("无法复制" + src.getName() + ": 目标文件夹和源文件夹相同");
if(src.equals(dest.getParentFile()))
throw new IllegalArgumentException("无法复制" + src.getName() + ": 目标文件夹是源文件夹的子文件夹");
if(src.isDirectory())
dirCopy(src, dest);
if(src.isFile())
fileCopy(src, dest);
}
我很不懂,难道是IllegalAccessException和IllegalArgumentException这些异常类的问题?
如果是的话,那到底是为什么?
我实在被搞晕了
求赐教!!!!!!!!!!
eclipse 解析这个注解出现问题了,不用管它,能编译就行
.............
}
IllegalAccessException 是checked异常
受检查异常为什么在这里就不可以通过?IllegalArgumentException是运行是异常吗?
public static void copy(File src, File dest) throws Exception
这个方法需要抛出异常的。
是的
IllegalAccessException 不是,所以IllegalAccessException 必须抛出或trycatch,而且这里也不应该抛IllegalAccessException 异常吧?应该是抛IllegalArgumentException参数错误的异常IllegalAccessException 说明:当应用程序试图反射性地创建一个实例(而不是数组)、设置或获取一个字段,或者调用一个方法,但当前正在执行的方法无法访问指定类、字段、方法或构造方法的定义时,抛出 IllegalAccessException。