PosixErrnoException.java
package eu.javaexperience.nativ.posix;
//TODO comment
public class PosixErrnoException extends Exception
{
private static final long serialVersionUID = 1L;
private final ERRNO err;
public PosixErrnoException(ERRNO err)
{
if(err == null)
throw new IllegalArgumentException("Error can not be null");
this.err = err;
}
public String toString()
{
return err.toString();
}
public ERRNO getErrno()
{
return err;
}
public static void throwIfErrorOcurred() throws PosixErrnoException
{
int errno = Posix.errno();
if(errno>0)
throw new PosixErrnoException(ERRNO.ERRNOOfValue(errno));
}
public static PosixErrnoException getIfOcurred()
{
int errno = Posix.errno();
if(errno > 0)
return new PosixErrnoException(ERRNO.ERRNOOfValue(errno));
return null;
}
public static void throwRtIfErrorOcurred()
{
PosixErrnoException ret = getIfOcurred();
if(null != ret)
{
throw new RuntimeException(ret);
}
}
}