Skip to content

Commit d8eb6b0

Browse files
author
Pamela Wu
committed
CLN GH22874 replace bare excepts in pandas/io/pytables.py
1 parent 2f1b842 commit d8eb6b0

File tree

1 file changed

+26
-24
lines changed

1 file changed

+26
-24
lines changed

Diff for: pandas/io/pytables.py

+26-24
Original file line numberDiff line numberDiff line change
@@ -258,7 +258,7 @@ def _tables():
258258
try:
259259
_table_file_open_policy_is_strict = (
260260
tables.file._FILE_OPEN_POLICY == 'strict')
261-
except:
261+
except AttributeError:
262262
pass
263263

264264
return _table_mod
@@ -395,11 +395,11 @@ def read_hdf(path_or_buf, key=None, mode='r', **kwargs):
395395
'contains multiple datasets.')
396396
key = candidate_only_group._v_pathname
397397
return store.select(key, auto_close=auto_close, **kwargs)
398-
except:
398+
except (ValueError, TypeError):
399399
# if there is an error, close the store
400400
try:
401401
store.close()
402-
except:
402+
except AttributeError:
403403
pass
404404

405405
raise
@@ -517,7 +517,7 @@ def __getattr__(self, name):
517517
""" allow attribute access to get stores """
518518
try:
519519
return self.get(name)
520-
except:
520+
except (KeyError, ClosedFileError):
521521
pass
522522
raise AttributeError("'%s' object has no attribute '%s'" %
523523
(type(self).__name__, name))
@@ -675,7 +675,7 @@ def flush(self, fsync=False):
675675
if fsync:
676676
try:
677677
os.fsync(self._handle.fileno())
678-
except:
678+
except OSError:
679679
pass
680680

681681
def get(self, key):
@@ -1156,12 +1156,13 @@ def walk(self, where="/"):
11561156

11571157
def get_node(self, key):
11581158
""" return the node with the key or None if it does not exist """
1159+
import tables
11591160
self._check_if_open()
11601161
try:
11611162
if not key.startswith('/'):
11621163
key = '/' + key
11631164
return self._handle.get_node(self.root, key)
1164-
except:
1165+
except tables.exceptions.NoSuchNodeError:
11651166
return None
11661167

11671168
def get_storer(self, key):
@@ -1270,7 +1271,7 @@ def _validate_format(self, format, kwargs):
12701271
# validate
12711272
try:
12721273
kwargs['format'] = _FORMAT_MAP[format.lower()]
1273-
except:
1274+
except KeyError:
12741275
raise TypeError("invalid HDFStore format specified [{0}]"
12751276
.format(format))
12761277

@@ -1307,7 +1308,7 @@ def error(t):
13071308

13081309
try:
13091310
pt = _TYPE_MAP[type(value)]
1310-
except:
1311+
except KeyError:
13111312
error('_TYPE_MAP')
13121313

13131314
# we are actually a table
@@ -1318,7 +1319,7 @@ def error(t):
13181319
if u('table') not in pt:
13191320
try:
13201321
return globals()[_STORER_MAP[pt]](self, group, **kwargs)
1321-
except:
1322+
except KeyError:
13221323
error('_STORER_MAP')
13231324

13241325
# existing node (and must be a table)
@@ -1354,12 +1355,12 @@ def error(t):
13541355
fields = group.table._v_attrs.fields
13551356
if len(fields) == 1 and fields[0] == u('value'):
13561357
tt = u('legacy_frame')
1357-
except:
1358+
except IndexError:
13581359
pass
13591360

13601361
try:
13611362
return globals()[_TABLE_MAP[tt]](self, group, **kwargs)
1362-
except:
1363+
except KeyError:
13631364
error('_TABLE_MAP')
13641365

13651366
def _write_to_group(self, key, value, format, index=True, append=False,
@@ -1624,7 +1625,7 @@ def is_indexed(self):
16241625
""" return whether I am an indexed column """
16251626
try:
16261627
return getattr(self.table.cols, self.cname).is_indexed
1627-
except:
1628+
except AttributeError:
16281629
False
16291630

16301631
def copy(self):
@@ -1656,7 +1657,8 @@ def convert(self, values, nan_rep, encoding, errors):
16561657
kwargs['name'] = _ensure_decoded(self.index_name)
16571658
try:
16581659
self.values = Index(values, **kwargs)
1659-
except:
1660+
except (AttributeError, OverflowError, KeyError, IndexError,
1661+
TypeError, ValueError):
16601662

16611663
# if the output freq is different that what we recorded,
16621664
# it should be None (see also 'doc example part 2')
@@ -1869,7 +1871,7 @@ def create_for_block(
18691871
m = re.search(r"values_block_(\d+)", name)
18701872
if m:
18711873
name = "values_%s" % m.groups()[0]
1872-
except:
1874+
except IndexError:
18731875
pass
18741876

18751877
return cls(name=name, cname=cname, **kwargs)
@@ -2232,7 +2234,7 @@ def convert(self, values, nan_rep, encoding, errors):
22322234

22332235
try:
22342236
self.data = self.data.astype(dtype, copy=False)
2235-
except:
2237+
except TypeError:
22362238
self.data = self.data.astype('O', copy=False)
22372239

22382240
# convert nans / decode
@@ -2325,7 +2327,7 @@ def set_version(self):
23252327
self.version = tuple(int(x) for x in version.split('.'))
23262328
if len(self.version) == 2:
23272329
self.version = self.version + (0,)
2328-
except:
2330+
except AttributeError:
23292331
self.version = (0, 0, 0)
23302332

23312333
@property
@@ -2769,7 +2771,7 @@ def write_array(self, key, value, items=None):
27692771
else:
27702772
try:
27712773
items = list(items)
2772-
except:
2774+
except TypeError:
27732775
pass
27742776
ws = performance_doc % (inferred_type, key, items)
27752777
warnings.warn(ws, PerformanceWarning, stacklevel=7)
@@ -2843,7 +2845,7 @@ class SeriesFixed(GenericFixed):
28432845
def shape(self):
28442846
try:
28452847
return len(getattr(self.group, 'values')),
2846-
except:
2848+
except (TypeError, AttributeError):
28472849
return None
28482850

28492851
def read(self, **kwargs):
@@ -2961,7 +2963,7 @@ def shape(self):
29612963
shape = shape[::-1]
29622964

29632965
return shape
2964-
except:
2966+
except AttributeError:
29652967
return None
29662968

29672969
def read(self, start=None, stop=None, **kwargs):
@@ -3495,7 +3497,7 @@ def create_axes(self, axes, obj, validate=True, nan_rep=None,
34953497
if axes is None:
34963498
try:
34973499
axes = _AXES_MAP[type(obj)]
3498-
except:
3500+
except KeyError:
34993501
raise TypeError("cannot properly create the storer for: "
35003502
"[group->%s,value->%s]"
35013503
% (self.group._v_name, type(obj)))
@@ -3614,7 +3616,7 @@ def get_blk_items(mgr, blocks):
36143616
b, b_items = by_items.pop(items)
36153617
new_blocks.append(b)
36163618
new_blk_items.append(b_items)
3617-
except:
3619+
except (IndexError, KeyError):
36183620
raise ValueError(
36193621
"cannot match existing table structure for [%s] on "
36203622
"appending data" % ','.join(pprint_thing(item) for
@@ -3642,7 +3644,7 @@ def get_blk_items(mgr, blocks):
36423644
if existing_table is not None and validate:
36433645
try:
36443646
existing_col = existing_table.values_axes[i]
3645-
except:
3647+
except (IndexError, KeyError):
36463648
raise ValueError("Incompatible appended table [%s] with "
36473649
"existing table [%s]"
36483650
% (blocks, existing_table.values_axes))
@@ -4460,7 +4462,7 @@ def _get_info(info, name):
44604462
""" get/create the info for this name """
44614463
try:
44624464
idx = info[name]
4463-
except:
4465+
except KeyError:
44644466
idx = info[name] = dict()
44654467
return idx
44664468

@@ -4782,7 +4784,7 @@ def __init__(self, table, where=None, start=None, stop=None, **kwargs):
47824784
)
47834785
self.coordinates = where
47844786

4785-
except:
4787+
except ValueError:
47864788
pass
47874789

47884790
if self.coordinates is None:

0 commit comments

Comments
 (0)