t :: {File.Error, term, term, term, term}
options :: [__exception__: term, reason: term, action: term, path: term] | [{String.t, term}]