# Class FileSystemException

java.lang.Object
java.lang.Throwable
java.lang.Exception
java.io.IOException
java.nio.file.FileSystemException

All Implemented Interfaces:
  `Serializable`

Direct Known Subclasses:
  `AccessDeniedException, AtomicMoveNotSupportedException, DirectoryNotEmptyException, FileAlreadyExistsException, FileSystemLoopException, NoSuchFileException, NotDirectoryException, NotLinkException`

public class FileSystemException extends IOException
Thrown when a file system operation fails on one or two files. This class is the general class for file system exceptions.

Since:
  1.7
See Also:
  - Serialized Form

## Constructor Summary

Constructors
Constructor
Description
`FileSystemException(String file)`
Constructs an instance of this class.
`FileSystemException(String file, String other, String reason)`
Constructs an instance of this class.

## Method Summary

Modifier and Type
Method
Description
`String`
`getFile()`
Returns the file used to create this exception.
`String`
`getMessage()`
Returns the detail message string.
`String`
`getOtherFile()`
Returns the other file used to create this exception.
`String`
`getReason()`
Returns the string explaining why the file system operation failed.

### Methods declared in class Throwable

`addSuppressed, fillInStackTrace, getCause, getLocalizedMessage, getStackTrace, getSuppressed, initCause, printStackTrace, printStackTrace, printStackTrace, setStackTrace, toString`
Modifier and Type
Method
Description
`final void`
`addSuppressed(Throwable exception)`
Appends the specified exception to the exceptions that were suppressed in order to deliver this exception.
`Throwable`
`fillInStackTrace()`
Fills in the execution stack trace.
`Throwable`
`getCause()`
Returns the cause of this throwable or `null` if the cause is nonexistent or unknown.
`String`
`getLocalizedMessage()`
Creates a localized description of this throwable.
`StackTraceElement[]`
`getStackTrace()`
Provides programmatic access to the stack trace information printed by `Throwable.printStackTrace()`.
`final Throwable[]`
`getSuppressed()`
Returns an array containing all of the exceptions that were suppressed, typically by the `try`-with-resources statement, in order to deliver this exception.
`Throwable`
`initCause(Throwable cause)`
Initializes the cause of this throwable to the specified value.
`void`
`printStackTrace()`
Prints this throwable and its backtrace to the standard error stream.
`void`
`printStackTrace(PrintStream s)`
Prints this throwable and its backtrace to the specified print stream.
`void`
`printStackTrace(PrintWriter s)`
Prints this throwable and its backtrace to the specified print writer.
`void`
`setStackTrace(StackTraceElement[] stackTrace)`
Sets the stack trace elements that will be returned by `Throwable.getStackTrace()` and printed by `Throwable.printStackTrace()` and related methods.
`String`
`toString()`
Returns a short description of this throwable.

### Methods declared in class Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`
Modifier and Type
Method
Description
`protected Object`
`clone()`
Creates and returns a copy of this object.
`boolean`
`equals(Object obj)`
Indicates whether some other object is "equal to" this one.
`protected void`
`finalize()`
Deprecated, for removal: This API element is subject to removal in a future version.
Finalization is deprecated and subject to removal in a future release.
`final Class<?>`
`getClass()`
Returns the runtime class of this `Object`.
`int`
`hashCode()`
Returns a hash code value for this object.
`final void`
`notify()`
Wakes up a single thread that is waiting on this object's monitor.
`final void`
`notifyAll()`
Wakes up all threads that are waiting on this object's monitor.
`final void`
`wait()`
Causes the current thread to wait until it is awakened, typically by being notified or interrupted.
`final void`
`wait(long timeoutMillis)`
Causes the current thread to wait until it is awakened, typically by being notified or interrupted, or until a certain amount of real time has elapsed.
`final void`
`wait(long timeoutMillis, int nanos)`
Causes the current thread to wait until it is awakened, typically by being notified or interrupted, or until a certain amount of real time has elapsed.

## Constructor Details

### FileSystemException

public FileSystemException(String file)
Constructs an instance of this class. This constructor should be used when an operation involving one file fails and there isn't any additional information to explain the reason.

Parameters:
  `file` - a string identifying the file or `null` if not known.

### FileSystemException

public FileSystemException(String file, String other, String reason)
Constructs an instance of this class. This constructor should be used when an operation involving two files fails, or there is additional information to explain the reason.

Parameters:
  `file` - a string identifying the file or `null` if not known.
  `other` - a string identifying the other file or `null` if there isn't another file or if not known
  `reason` - a reason message with additional information or `null`

## Method Details

### getFile

public String getFile()
Returns the file used to create this exception.

Returns:
  the file (can be `null`)

### getOtherFile

public String getOtherFile()
Returns the other file used to create this exception.

Returns:
  the other file (can be `null`)

### getReason

public String getReason()
Returns the string explaining why the file system operation failed.

Returns:
  the string explaining why the file system operation failed

### getMessage

public String getMessage()
Returns the detail message string.

Overrides:
  `getMessage` in class `Throwable`
Returns:
  the detail message string of this `Throwable` instance (which may be `null`).