Mono.Unix.UnixMarshal.ThrowExceptionForLastError Method
Throws an exception that best matches the last error returned from Mono.Unix.Native.Stdlib.GetLastError.

Syntax

public static void ThrowExceptionForLastError ()

Exceptions

TypeReason
ArgumentException Mono.Unix.Native.Stdlib.GetLastError is Mono.Unix.Native.Errno.EBADF or Mono.Unix.Native.Errno.EINVAL.
ArgumentOutOfRangeException Mono.Unix.Native.Stdlib.GetLastError is Mono.Unix.Native.Errno.ERANGE.
InvalidOperationException Mono.Unix.Native.Stdlib.GetLastError is Mono.Unix.Native.Errno.EOPNOTSUPP or Mono.Unix.Native.Errno.EPERM.
InvalidProgramException Mono.Unix.Native.Stdlib.GetLastError is Mono.Unix.Native.Errno.ENOEXEC.
NullReferenceException Mono.Unix.Native.Stdlib.GetLastError is Mono.Unix.Native.Errno.EFAULT.
OverflowException Mono.Unix.Native.Stdlib.GetLastError is Mono.Unix.Native.Errno.EOVERFLOW.
UnauthorizedAccessException Mono.Unix.Native.Stdlib.GetLastError is Mono.Unix.Native.Errno.EACCES or Mono.Unix.Native.Errno.EISDIR.
System.IO.DirectoryNotFoundException Mono.Unix.Native.Stdlib.GetLastError is Mono.Unix.Native.Errno.ENOTDIR.
System.IO.FileNotFoundException Mono.Unix.Native.Stdlib.GetLastError is Mono.Unix.Native.Errno.ENOENT.
System.IO.IOException Mono.Unix.Native.Stdlib.GetLastError is one of: Mono.Unix.Native.Errno.EIO, Mono.Unix.Native.Errno.ENOSPC, Mono.Unix.Native.Errno.ENOTEMPTY, Mono.Unix.Native.Errno.ENXIO, Mono.Unix.Native.Errno.EROFS, Mono.Unix.Native.Errno.ESPIPE.
System.IO.PathTooLongException Mono.Unix.Native.Stdlib.GetLastError is Mono.Unix.Native.Errno.ENAMETOOLONG.
Mono.Unix.UnixIOException Mono.Unix.Native.Stdlib.GetLastError is not any of the above error values.

Remarks

This is equivalent to calling UnixMarshal.ThrowExceptionForError (Mono.Unix.Native.Stdlib.GetLastError ()).

If the exception thrown is not a Mono.Unix.UnixIOException, then the exception's Exception.InnerException property will be set to a Mono.Unix.UnixIOException instance wrapping errno, if possible.

Note: ArgumentOutOfRangeException does not have its Exception.InnerException property set, as ArgumentOutOfRangeException does not provide a constructor that sets this property.

Requirements

Namespace: Mono.Unix
Assembly: Mono.Posix (in Mono.Posix.dll)
Assembly Versions: 1.0.5000.0, 2.0.0.0, 4.0.0.0