diff options
author | Serhiy Storchaka <storchaka@gmail.com> | 2014-10-04 11:58:43 (GMT) |
---|---|---|
committer | Serhiy Storchaka <storchaka@gmail.com> | 2014-10-04 11:58:43 (GMT) |
commit | 3deeeb0c39ee4fcc1949d127f95702edbed56943 (patch) | |
tree | 3e9963cadcb3320b1658f3187b937470c47acd71 /Lib/macpath.py | |
parent | 385328bf761969a761d48727bfec88dccf4fe641 (diff) | |
download | cpython-3deeeb0c39ee4fcc1949d127f95702edbed56943.zip cpython-3deeeb0c39ee4fcc1949d127f95702edbed56943.tar.gz cpython-3deeeb0c39ee4fcc1949d127f95702edbed56943.tar.bz2 |
Issue #21883: os.path.join() and os.path.relpath() now raise a TypeError with
more helpful error message for unsupported or mismatched types of arguments.
Diffstat (limited to 'Lib/macpath.py')
-rw-r--r-- | Lib/macpath.py | 32 |
1 files changed, 18 insertions, 14 deletions
diff --git a/Lib/macpath.py b/Lib/macpath.py index 5ca0097..dbcf368 100644 --- a/Lib/macpath.py +++ b/Lib/macpath.py @@ -50,20 +50,24 @@ def isabs(s): def join(s, *p): - colon = _get_colon(s) - path = s - for t in p: - if (not path) or isabs(t): - path = t - continue - if t[:1] == colon: - t = t[1:] - if colon not in path: - path = colon + path - if path[-1:] != colon: - path = path + colon - path = path + t - return path + try: + colon = _get_colon(s) + path = s + for t in p: + if (not path) or isabs(t): + path = t + continue + if t[:1] == colon: + t = t[1:] + if colon not in path: + path = colon + path + if path[-1:] != colon: + path = path + colon + path = path + t + return path + except (TypeError, AttributeError, BytesWarning): + genericpath._check_arg_types('join', s, *p) + raise def split(s): |