Skip to content

Commit 2b68a60

Browse files
committed
Fix exception causes all over the codebase
1 parent afe0a82 commit 2b68a60

File tree

3 files changed

+12
-12
lines changed

3 files changed

+12
-12
lines changed

examples/play_long_file.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -72,9 +72,9 @@ def callback(outdata, frames, time, status):
7272
assert not status
7373
try:
7474
data = q.get_nowait()
75-
except queue.Empty:
75+
except queue.Empty as e:
7676
print('Buffer is empty: increase buffersize?', file=sys.stderr)
77-
raise sd.CallbackAbort
77+
raise sd.CallbackAbort from e
7878
if len(data) < len(outdata):
7979
outdata[:len(data)] = data
8080
outdata[len(data):] = b'\x00' * (len(outdata) - len(data))

examples/play_stream.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -84,9 +84,9 @@ def callback(outdata, frames, time, status):
8484
assert not status
8585
try:
8686
data = q.get_nowait()
87-
except queue.Empty:
87+
except queue.Empty as e:
8888
print('Buffer is empty: increase buffersize?', file=sys.stderr)
89-
raise sd.CallbackAbort
89+
raise sd.CallbackAbort from e
9090
assert len(data) == len(outdata)
9191
outdata[:] = data
9292

sounddevice.py

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -2341,9 +2341,9 @@ def __init__(self, channel_map=None, change_device_parameters=False,
23412341

23422342
try:
23432343
self._flags = conversion_dict[conversion_quality.lower()]
2344-
except (KeyError, AttributeError):
2344+
except (KeyError, AttributeError) as e:
23452345
raise ValueError('conversion_quality must be one of ' +
2346-
repr(list(conversion_dict)))
2346+
repr(list(conversion_dict))) from e
23472347
if change_device_parameters:
23482348
self._flags |= _lib.paMacCoreChangeDeviceParameters
23492349
if fail_if_conversion_required:
@@ -2421,9 +2421,9 @@ def __init__(self, loop=False):
24212421
try:
24222422
import numpy
24232423
assert numpy # avoid "imported but unused" message (W0611)
2424-
except ImportError:
2424+
except ImportError as e:
24252425
raise ImportError(
2426-
'NumPy must be installed for play()/rec()/playrec()')
2426+
'NumPy must be installed for play()/rec()/playrec()') from e
24272427
self.loop = loop
24282428
self.event = threading.Event()
24292429
self.status = CallbackFlags()
@@ -2627,8 +2627,8 @@ def _get_stream_parameters(kind, device, channels, dtype, latency,
26272627
pass # NumPy not available or invalid dtype (e.g. 'int24') or ...
26282628
try:
26292629
sampleformat = _sampleformats[dtype]
2630-
except KeyError:
2631-
raise ValueError('Invalid ' + kind + ' sample format')
2630+
except KeyError as e:
2631+
raise ValueError('Invalid ' + kind + ' sample format') from e
26322632
samplesize = _check(_lib.Pa_GetSampleSize(sampleformat))
26332633
if latency in ('low', 'high'):
26342634
latency = info['default_' + latency + '_' + kind + '_latency']
@@ -2679,8 +2679,8 @@ def _split(value):
26792679
invalue, outvalue = value
26802680
except TypeError:
26812681
invalue = outvalue = value
2682-
except ValueError:
2683-
raise ValueError('Only single values and pairs are allowed')
2682+
except ValueError as e:
2683+
raise ValueError('Only single values and pairs are allowed') from e
26842684
return invalue, outvalue
26852685

26862686

0 commit comments

Comments
 (0)