@@ -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 ):
@@ -1156,12 +1156,13 @@ def walk(self, where="/"):
1156
1156
1157
1157
def get_node (self , key ):
1158
1158
""" return the node with the key or None if it does not exist """
1159
+ import tables
1159
1160
self ._check_if_open ()
1160
1161
try :
1161
1162
if not key .startswith ('/' ):
1162
1163
key = '/' + key
1163
1164
return self ._handle .get_node (self .root , key )
1164
- except :
1165
+ except tables . exceptions . NoSuchNodeError :
1165
1166
return None
1166
1167
1167
1168
def get_storer (self , key ):
@@ -1270,7 +1271,7 @@ def _validate_format(self, format, kwargs):
1270
1271
# validate
1271
1272
try :
1272
1273
kwargs ['format' ] = _FORMAT_MAP [format .lower ()]
1273
- except :
1274
+ except KeyError :
1274
1275
raise TypeError ("invalid HDFStore format specified [{0}]"
1275
1276
.format (format ))
1276
1277
@@ -1307,7 +1308,7 @@ def error(t):
1307
1308
1308
1309
try :
1309
1310
pt = _TYPE_MAP [type (value )]
1310
- except :
1311
+ except KeyError :
1311
1312
error ('_TYPE_MAP' )
1312
1313
1313
1314
# we are actually a table
@@ -1318,7 +1319,7 @@ def error(t):
1318
1319
if u ('table' ) not in pt :
1319
1320
try :
1320
1321
return globals ()[_STORER_MAP [pt ]](self , group , ** kwargs )
1321
- except :
1322
+ except KeyError :
1322
1323
error ('_STORER_MAP' )
1323
1324
1324
1325
# existing node (and must be a table)
@@ -1354,12 +1355,12 @@ def error(t):
1354
1355
fields = group .table ._v_attrs .fields
1355
1356
if len (fields ) == 1 and fields [0 ] == u ('value' ):
1356
1357
tt = u ('legacy_frame' )
1357
- except :
1358
+ except IndexError :
1358
1359
pass
1359
1360
1360
1361
try :
1361
1362
return globals ()[_TABLE_MAP [tt ]](self , group , ** kwargs )
1362
- except :
1363
+ except KeyError :
1363
1364
error ('_TABLE_MAP' )
1364
1365
1365
1366
def _write_to_group (self , key , value , format , index = True , append = False ,
@@ -1624,7 +1625,7 @@ def is_indexed(self):
1624
1625
""" return whether I am an indexed column """
1625
1626
try :
1626
1627
return getattr (self .table .cols , self .cname ).is_indexed
1627
- except :
1628
+ except AttributeError :
1628
1629
False
1629
1630
1630
1631
def copy (self ):
@@ -1656,7 +1657,8 @@ def convert(self, values, nan_rep, encoding, errors):
1656
1657
kwargs ['name' ] = _ensure_decoded (self .index_name )
1657
1658
try :
1658
1659
self .values = Index (values , ** kwargs )
1659
- except :
1660
+ except (AttributeError , OverflowError , KeyError , IndexError ,
1661
+ TypeError , ValueError ):
1660
1662
1661
1663
# if the output freq is different that what we recorded,
1662
1664
# it should be None (see also 'doc example part 2')
@@ -1869,7 +1871,7 @@ def create_for_block(
1869
1871
m = re .search (r"values_block_(\d+)" , name )
1870
1872
if m :
1871
1873
name = "values_%s" % m .groups ()[0 ]
1872
- except :
1874
+ except IndexError :
1873
1875
pass
1874
1876
1875
1877
return cls (name = name , cname = cname , ** kwargs )
@@ -2232,7 +2234,7 @@ def convert(self, values, nan_rep, encoding, errors):
2232
2234
2233
2235
try :
2234
2236
self .data = self .data .astype (dtype , copy = False )
2235
- except :
2237
+ except TypeError :
2236
2238
self .data = self .data .astype ('O' , copy = False )
2237
2239
2238
2240
# convert nans / decode
@@ -2325,7 +2327,7 @@ def set_version(self):
2325
2327
self .version = tuple (int (x ) for x in version .split ('.' ))
2326
2328
if len (self .version ) == 2 :
2327
2329
self .version = self .version + (0 ,)
2328
- except :
2330
+ except AttributeError :
2329
2331
self .version = (0 , 0 , 0 )
2330
2332
2331
2333
@property
@@ -2769,7 +2771,7 @@ def write_array(self, key, value, items=None):
2769
2771
else :
2770
2772
try :
2771
2773
items = list (items )
2772
- except :
2774
+ except TypeError :
2773
2775
pass
2774
2776
ws = performance_doc % (inferred_type , key , items )
2775
2777
warnings .warn (ws , PerformanceWarning , stacklevel = 7 )
@@ -2843,7 +2845,7 @@ class SeriesFixed(GenericFixed):
2843
2845
def shape (self ):
2844
2846
try :
2845
2847
return len (getattr (self .group , 'values' )),
2846
- except :
2848
+ except ( TypeError , AttributeError ) :
2847
2849
return None
2848
2850
2849
2851
def read (self , ** kwargs ):
@@ -2961,7 +2963,7 @@ def shape(self):
2961
2963
shape = shape [::- 1 ]
2962
2964
2963
2965
return shape
2964
- except :
2966
+ except AttributeError :
2965
2967
return None
2966
2968
2967
2969
def read (self , start = None , stop = None , ** kwargs ):
@@ -3495,7 +3497,7 @@ def create_axes(self, axes, obj, validate=True, nan_rep=None,
3495
3497
if axes is None :
3496
3498
try :
3497
3499
axes = _AXES_MAP [type (obj )]
3498
- except :
3500
+ except KeyError :
3499
3501
raise TypeError ("cannot properly create the storer for: "
3500
3502
"[group->%s,value->%s]"
3501
3503
% (self .group ._v_name , type (obj )))
@@ -3614,7 +3616,7 @@ def get_blk_items(mgr, blocks):
3614
3616
b , b_items = by_items .pop (items )
3615
3617
new_blocks .append (b )
3616
3618
new_blk_items .append (b_items )
3617
- except :
3619
+ except ( IndexError , KeyError ) :
3618
3620
raise ValueError (
3619
3621
"cannot match existing table structure for [%s] on "
3620
3622
"appending data" % ',' .join (pprint_thing (item ) for
@@ -3642,7 +3644,7 @@ def get_blk_items(mgr, blocks):
3642
3644
if existing_table is not None and validate :
3643
3645
try :
3644
3646
existing_col = existing_table .values_axes [i ]
3645
- except :
3647
+ except ( IndexError , KeyError ) :
3646
3648
raise ValueError ("Incompatible appended table [%s] with "
3647
3649
"existing table [%s]"
3648
3650
% (blocks , existing_table .values_axes ))
@@ -4460,7 +4462,7 @@ def _get_info(info, name):
4460
4462
""" get/create the info for this name """
4461
4463
try :
4462
4464
idx = info [name ]
4463
- except :
4465
+ except KeyError :
4464
4466
idx = info [name ] = dict ()
4465
4467
return idx
4466
4468
@@ -4782,7 +4784,7 @@ def __init__(self, table, where=None, start=None, stop=None, **kwargs):
4782
4784
)
4783
4785
self .coordinates = where
4784
4786
4785
- except :
4787
+ except ValueError :
4786
4788
pass
4787
4789
4788
4790
if self .coordinates is None :
0 commit comments