@@ -258,7 +258,7 @@ def _tables():
258
258
try :
259
259
_table_file_open_policy_is_strict = (
260
260
tables .file ._FILE_OPEN_POLICY == 'strict' )
261
- except :
261
+ except AttributeError :
262
262
pass
263
263
264
264
return _table_mod
@@ -395,11 +395,11 @@ def read_hdf(path_or_buf, key=None, mode='r', **kwargs):
395
395
'contains multiple datasets.' )
396
396
key = candidate_only_group ._v_pathname
397
397
return store .select (key , auto_close = auto_close , ** kwargs )
398
- except :
398
+ except ( ValueError , TypeError ) :
399
399
# if there is an error, close the store
400
400
try :
401
401
store .close ()
402
- except :
402
+ except AttributeError :
403
403
pass
404
404
405
405
raise
@@ -517,7 +517,7 @@ def __getattr__(self, name):
517
517
""" allow attribute access to get stores """
518
518
try :
519
519
return self .get (name )
520
- except :
520
+ except ( KeyError , ClosedFileError ) :
521
521
pass
522
522
raise AttributeError ("'%s' object has no attribute '%s'" %
523
523
(type (self ).__name__ , name ))
@@ -675,7 +675,7 @@ def flush(self, fsync=False):
675
675
if fsync :
676
676
try :
677
677
os .fsync (self ._handle .fileno ())
678
- except :
678
+ except OSError :
679
679
pass
680
680
681
681
def get (self , key ):
@@ -1161,7 +1161,7 @@ def get_node(self, key):
1161
1161
if not key .startswith ('/' ):
1162
1162
key = '/' + key
1163
1163
return self ._handle .get_node (self .root , key )
1164
- except :
1164
+ except _table_mod . exceptions . NoSuchNodeError :
1165
1165
return None
1166
1166
1167
1167
def get_storer (self , key ):
@@ -1270,7 +1270,7 @@ def _validate_format(self, format, kwargs):
1270
1270
# validate
1271
1271
try :
1272
1272
kwargs ['format' ] = _FORMAT_MAP [format .lower ()]
1273
- except :
1273
+ except KeyError :
1274
1274
raise TypeError ("invalid HDFStore format specified [{0}]"
1275
1275
.format (format ))
1276
1276
@@ -1307,7 +1307,7 @@ def error(t):
1307
1307
1308
1308
try :
1309
1309
pt = _TYPE_MAP [type (value )]
1310
- except :
1310
+ except KeyError :
1311
1311
error ('_TYPE_MAP' )
1312
1312
1313
1313
# we are actually a table
@@ -1318,7 +1318,7 @@ def error(t):
1318
1318
if u ('table' ) not in pt :
1319
1319
try :
1320
1320
return globals ()[_STORER_MAP [pt ]](self , group , ** kwargs )
1321
- except :
1321
+ except KeyError :
1322
1322
error ('_STORER_MAP' )
1323
1323
1324
1324
# existing node (and must be a table)
@@ -1354,12 +1354,12 @@ def error(t):
1354
1354
fields = group .table ._v_attrs .fields
1355
1355
if len (fields ) == 1 and fields [0 ] == u ('value' ):
1356
1356
tt = u ('legacy_frame' )
1357
- except :
1357
+ except IndexError :
1358
1358
pass
1359
1359
1360
1360
try :
1361
1361
return globals ()[_TABLE_MAP [tt ]](self , group , ** kwargs )
1362
- except :
1362
+ except KeyError :
1363
1363
error ('_TABLE_MAP' )
1364
1364
1365
1365
def _write_to_group (self , key , value , format , index = True , append = False ,
@@ -1624,7 +1624,7 @@ def is_indexed(self):
1624
1624
""" return whether I am an indexed column """
1625
1625
try :
1626
1626
return getattr (self .table .cols , self .cname ).is_indexed
1627
- except :
1627
+ except AttributeError :
1628
1628
False
1629
1629
1630
1630
def copy (self ):
@@ -1654,9 +1654,10 @@ def convert(self, values, nan_rep, encoding, errors):
1654
1654
kwargs ['freq' ] = _ensure_decoded (self .freq )
1655
1655
if self .index_name is not None :
1656
1656
kwargs ['name' ] = _ensure_decoded (self .index_name )
1657
+ # making an Index instance could throw a number of different errors
1657
1658
try :
1658
1659
self .values = Index (values , ** kwargs )
1659
- except :
1660
+ except Exception : # noqa: E722
1660
1661
1661
1662
# if the output freq is different that what we recorded,
1662
1663
# it should be None (see also 'doc example part 2')
@@ -1869,7 +1870,7 @@ def create_for_block(
1869
1870
m = re .search (r"values_block_(\d+)" , name )
1870
1871
if m :
1871
1872
name = "values_%s" % m .groups ()[0 ]
1872
- except :
1873
+ except IndexError :
1873
1874
pass
1874
1875
1875
1876
return cls (name = name , cname = cname , ** kwargs )
@@ -2232,7 +2233,7 @@ def convert(self, values, nan_rep, encoding, errors):
2232
2233
2233
2234
try :
2234
2235
self .data = self .data .astype (dtype , copy = False )
2235
- except :
2236
+ except TypeError :
2236
2237
self .data = self .data .astype ('O' , copy = False )
2237
2238
2238
2239
# convert nans / decode
@@ -2325,7 +2326,7 @@ def set_version(self):
2325
2326
self .version = tuple (int (x ) for x in version .split ('.' ))
2326
2327
if len (self .version ) == 2 :
2327
2328
self .version = self .version + (0 ,)
2328
- except :
2329
+ except AttributeError :
2329
2330
self .version = (0 , 0 , 0 )
2330
2331
2331
2332
@property
@@ -2769,7 +2770,7 @@ def write_array(self, key, value, items=None):
2769
2770
else :
2770
2771
try :
2771
2772
items = list (items )
2772
- except :
2773
+ except TypeError :
2773
2774
pass
2774
2775
ws = performance_doc % (inferred_type , key , items )
2775
2776
warnings .warn (ws , PerformanceWarning , stacklevel = 7 )
@@ -2843,7 +2844,7 @@ class SeriesFixed(GenericFixed):
2843
2844
def shape (self ):
2844
2845
try :
2845
2846
return len (getattr (self .group , 'values' )),
2846
- except :
2847
+ except ( TypeError , AttributeError ) :
2847
2848
return None
2848
2849
2849
2850
def read (self , ** kwargs ):
@@ -2961,7 +2962,7 @@ def shape(self):
2961
2962
shape = shape [::- 1 ]
2962
2963
2963
2964
return shape
2964
- except :
2965
+ except AttributeError :
2965
2966
return None
2966
2967
2967
2968
def read (self , start = None , stop = None , ** kwargs ):
@@ -3495,7 +3496,7 @@ def create_axes(self, axes, obj, validate=True, nan_rep=None,
3495
3496
if axes is None :
3496
3497
try :
3497
3498
axes = _AXES_MAP [type (obj )]
3498
- except :
3499
+ except KeyError :
3499
3500
raise TypeError ("cannot properly create the storer for: "
3500
3501
"[group->%s,value->%s]"
3501
3502
% (self .group ._v_name , type (obj )))
@@ -3614,7 +3615,7 @@ def get_blk_items(mgr, blocks):
3614
3615
b , b_items = by_items .pop (items )
3615
3616
new_blocks .append (b )
3616
3617
new_blk_items .append (b_items )
3617
- except :
3618
+ except ( IndexError , KeyError ) :
3618
3619
raise ValueError (
3619
3620
"cannot match existing table structure for [%s] on "
3620
3621
"appending data" % ',' .join (pprint_thing (item ) for
@@ -3642,7 +3643,7 @@ def get_blk_items(mgr, blocks):
3642
3643
if existing_table is not None and validate :
3643
3644
try :
3644
3645
existing_col = existing_table .values_axes [i ]
3645
- except :
3646
+ except ( IndexError , KeyError ) :
3646
3647
raise ValueError ("Incompatible appended table [%s] with "
3647
3648
"existing table [%s]"
3648
3649
% (blocks , existing_table .values_axes ))
@@ -4460,7 +4461,7 @@ def _get_info(info, name):
4460
4461
""" get/create the info for this name """
4461
4462
try :
4462
4463
idx = info [name ]
4463
- except :
4464
+ except KeyError :
4464
4465
idx = info [name ] = dict ()
4465
4466
return idx
4466
4467
@@ -4782,7 +4783,7 @@ def __init__(self, table, where=None, start=None, stop=None, **kwargs):
4782
4783
)
4783
4784
self .coordinates = where
4784
4785
4785
- except :
4786
+ except ValueError :
4786
4787
pass
4787
4788
4788
4789
if self .coordinates is None :
0 commit comments