Skip to content

Commit 5affd23

Browse files
bpo-29762: More use "raise from None". (python#569)
This hides unwanted implementation details from tracebacks.
1 parent 43ba886 commit 5affd23

30 files changed

+50
-48
lines changed

Lib/_collections_abc.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -589,7 +589,7 @@ def pop(self):
589589
try:
590590
value = next(it)
591591
except StopIteration:
592-
raise KeyError
592+
raise KeyError from None
593593
self.discard(value)
594594
return value
595595

@@ -808,7 +808,7 @@ def popitem(self):
808808
try:
809809
key = next(iter(self))
810810
except StopIteration:
811-
raise KeyError
811+
raise KeyError from None
812812
value = self[key]
813813
del self[key]
814814
return key, value

Lib/_weakrefset.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -98,7 +98,7 @@ def pop(self):
9898
try:
9999
itemref = self.data.pop()
100100
except KeyError:
101-
raise KeyError('pop from empty WeakSet')
101+
raise KeyError('pop from empty WeakSet') from None
102102
item = itemref()
103103
if item is not None:
104104
return item

Lib/aifc.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -149,25 +149,25 @@ def _read_long(file):
149149
try:
150150
return struct.unpack('>l', file.read(4))[0]
151151
except struct.error:
152-
raise EOFError
152+
raise EOFError from None
153153

154154
def _read_ulong(file):
155155
try:
156156
return struct.unpack('>L', file.read(4))[0]
157157
except struct.error:
158-
raise EOFError
158+
raise EOFError from None
159159

160160
def _read_short(file):
161161
try:
162162
return struct.unpack('>h', file.read(2))[0]
163163
except struct.error:
164-
raise EOFError
164+
raise EOFError from None
165165

166166
def _read_ushort(file):
167167
try:
168168
return struct.unpack('>H', file.read(2))[0]
169169
except struct.error:
170-
raise EOFError
170+
raise EOFError from None
171171

172172
def _read_string(file):
173173
length = ord(file.read(1))

Lib/asyncio/base_events.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1043,7 +1043,7 @@ def create_server(self, protocol_factory, host=None, port=None,
10431043
except OSError as err:
10441044
raise OSError(err.errno, 'error while attempting '
10451045
'to bind on address %r: %s'
1046-
% (sa, err.strerror.lower()))
1046+
% (sa, err.strerror.lower())) from None
10471047
completed = True
10481048
finally:
10491049
if not completed:

Lib/bdb.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -336,11 +336,11 @@ def get_bpbynumber(self, arg):
336336
try:
337337
number = int(arg)
338338
except ValueError:
339-
raise ValueError('Non-numeric breakpoint number %s' % arg)
339+
raise ValueError('Non-numeric breakpoint number %s' % arg) from None
340340
try:
341341
bp = Breakpoint.bpbynumber[number]
342342
except IndexError:
343-
raise ValueError('Breakpoint number %d out of range' % number)
343+
raise ValueError('Breakpoint number %d out of range' % number) from None
344344
if bp is None:
345345
raise ValueError('Breakpoint %d already deleted' % number)
346346
return bp

Lib/chunk.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,7 @@ def __init__(self, file, align=True, bigendian=True, inclheader=False):
6464
try:
6565
self.chunksize = struct.unpack_from(strflag+'L', file.read(4))[0]
6666
except struct.error:
67-
raise EOFError
67+
raise EOFError from None
6868
if inclheader:
6969
self.chunksize = self.chunksize - 8 # subtract header
7070
self.size_read = 0

Lib/configparser.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1138,7 +1138,7 @@ def _unify_values(self, section, vars):
11381138
sectiondict = self._sections[section]
11391139
except KeyError:
11401140
if section != self.default_section:
1141-
raise NoSectionError(section)
1141+
raise NoSectionError(section) from None
11421142
# Update with the entry specific variables
11431143
vardict = {}
11441144
if vars:

Lib/copyreg.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -70,7 +70,7 @@ def _reduce_ex(self, proto):
7070
except AttributeError:
7171
if getattr(self, "__slots__", None):
7272
raise TypeError("a class that defines __slots__ without "
73-
"defining __getstate__ cannot be pickled")
73+
"defining __getstate__ cannot be pickled") from None
7474
try:
7575
dict = self.__dict__
7676
except AttributeError:

Lib/difflib.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2079,7 +2079,7 @@ def restore(delta, which):
20792079
tag = {1: "- ", 2: "+ "}[int(which)]
20802080
except KeyError:
20812081
raise ValueError('unknown delta choice (must be 1 or 2): %r'
2082-
% which)
2082+
% which) from None
20832083
prefixes = (" ", tag)
20842084
for line in delta:
20852085
if line[:2] in prefixes:

Lib/dis.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -72,7 +72,7 @@ def distb(tb=None, *, file=None):
7272
try:
7373
tb = sys.last_traceback
7474
except AttributeError:
75-
raise RuntimeError("no last traceback to disassemble")
75+
raise RuntimeError("no last traceback to disassemble") from None
7676
while tb.tb_next: tb = tb.tb_next
7777
disassemble(tb.tb_frame.f_code, tb.tb_lasti, file=file)
7878

0 commit comments

Comments
 (0)