code: public static AlluxioStatusException fromIOException(IOException ioe) {
      try {
        throw ioe;
      } catch (FileNotFoundException e) {
        return new NotFoundException(e);
      } catch (MalformedURLException e) {
        return new InvalidArgumentException(e);
      } catch (UserPrincipalNotFoundException e) {
        return new UnauthenticatedException(e);
      } catch (ClosedChannelException e) {
        return new FailedPreconditionException(e);
      } catch (AlluxioStatusException e) {
        return e;
      } catch (IOException e) {
        return new UnknownException(e);
      }
    }
docs: Converts an IOException to a corresponding status exception. Unless special cased, IOExceptions
  are converted to {@link UnavailableException}.
  
  @param ioe the IO exception to convert
  @return the corresponding status exception