mirror of
https://github.com/python/cpython.git
synced 2025-10-23 07:02:24 +00:00
Added 'grok_environment_error()' function to deal with the various
forms that IOError and OSError can take (taken from core.py).
This commit is contained in:
parent
039accfb2c
commit
e905513be0
1 changed files with 20 additions and 0 deletions
|
@ -154,3 +154,23 @@ def subst_vars (str, local_vars):
|
||||||
# subst_vars ()
|
# subst_vars ()
|
||||||
|
|
||||||
|
|
||||||
|
def grok_environment_error (exc, prefix="error: "):
|
||||||
|
"""Generate a useful error message from an EnvironmentError (IOError or
|
||||||
|
OSError) exception object. Handles Python 1.5.1 and 1.5.2 styles, and
|
||||||
|
does what it can to deal with exception objects that don't have a
|
||||||
|
filename (which happens when the error is due to a two-file operation,
|
||||||
|
such as 'rename()' or 'link()'. Returns the error message as a string
|
||||||
|
prefixed with 'prefix'.
|
||||||
|
"""
|
||||||
|
# check for Python 1.5.2-style {IO,OS}Error exception objects
|
||||||
|
if hasattr (exc, 'filename') and hasattr (exc, 'strerror'):
|
||||||
|
if exc.filename:
|
||||||
|
error = prefix + "%s: %s" % (exc.filename, exc.strerror)
|
||||||
|
else:
|
||||||
|
# two-argument functions in posix module don't
|
||||||
|
# include the filename in the exception object!
|
||||||
|
error = prefix + "%s" % exc.strerror
|
||||||
|
else:
|
||||||
|
error = prefix + str(exc[-1])
|
||||||
|
|
||||||
|
return error
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue