以下代码抛出断言但不是例外。
if( descFile.exists() ) {
check = descFile.delete();
assert(check);
}
怎么可能?如果文件没有被删除,为什么不抛出异常呢?
答案 0 :(得分:3)
根据javadocs,File.delete()
只会抛出:
SecurityException - 如果存在安全管理器及其 SecurityManager.checkDelete(java.lang.String)方法拒绝删除 访问文件
因此,如果您没有活动的安全管理器,您将不会获得异常,只会出现常规的返回行为,即:
当且仅当文件或目录被成功删除时才为真; 否则是假的