37 lines
984 B
Plaintext
37 lines
984 B
Plaintext
When ``++java.io.File#delete++`` fails, this ``++boolean++`` method simply returns ``++false++`` with no indication of the cause. On the other hand, when ``++java.nio.file.Files#delete++`` fails, this ``++void++`` method returns one of a series of exception types to better indicate the cause of the failure. And since more information is generally better in a debugging situation, ``++java.nio.file.Files#delete++`` is the preferred option.
|
|
|
|
|
|
== Noncompliant Code Example
|
|
|
|
[source,java]
|
|
----
|
|
public void cleanUp(Path path) {
|
|
File file = new File(path);
|
|
if (!file.delete()) { // Noncompliant
|
|
//...
|
|
}
|
|
}
|
|
----
|
|
|
|
|
|
== Compliant Solution
|
|
|
|
[source,java]
|
|
----
|
|
public void cleanUp(Path path) throws NoSuchFileException, DirectoryNotEmptyException, IOException {
|
|
Files.delete(path);
|
|
}
|
|
----
|
|
|
|
ifdef::env-github,rspecator-view[]
|
|
|
|
'''
|
|
== Implementation Specification
|
|
(visible only on this page)
|
|
|
|
include::message.adoc[]
|
|
|
|
include::highlighting.adoc[]
|
|
|
|
endif::env-github,rspecator-view[]
|