Only catch the errors that can actually occur, as reported in bug #411881.
This commit is contained in:
parent
f3456912e4
commit
58682b7fe5
10
Lib/types.py
10
Lib/types.py
|
@ -31,7 +31,8 @@ FunctionType = type(_f)
|
|||
LambdaType = type(lambda: None) # Same as FunctionType
|
||||
try:
|
||||
CodeType = type(_f.func_code)
|
||||
except:
|
||||
except RuntimeError:
|
||||
# Execution in restricted environment
|
||||
pass
|
||||
|
||||
def g():
|
||||
|
@ -54,7 +55,8 @@ ModuleType = type(sys)
|
|||
|
||||
try:
|
||||
FileType = type(sys.__stdin__)
|
||||
except:
|
||||
except AttributeError:
|
||||
# Not available in restricted mode
|
||||
pass
|
||||
XRangeType = type(xrange(0))
|
||||
|
||||
|
@ -65,7 +67,9 @@ except TypeError:
|
|||
tb = sys.exc_info()[2]
|
||||
TracebackType = type(tb)
|
||||
FrameType = type(tb.tb_frame)
|
||||
except:
|
||||
except AttributeError:
|
||||
# In the restricted environment, exc_info returns (None, None,
|
||||
# None) Then, tb.tb_frame gives an attribute error
|
||||
pass
|
||||
tb = None; del tb
|
||||
|
||||
|
|
|
@ -134,7 +134,7 @@ class URLopener:
|
|||
for file in self.__tempfiles:
|
||||
try:
|
||||
self.__unlink(file)
|
||||
except:
|
||||
except OSError:
|
||||
pass
|
||||
del self.__tempfiles[:]
|
||||
if self.tempcache:
|
||||
|
@ -1069,7 +1069,7 @@ def unquote(s):
|
|||
try:
|
||||
myappend(mychr(myatoi(item[:2], 16))
|
||||
+ item[2:])
|
||||
except:
|
||||
except ValueError:
|
||||
myappend('%' + item)
|
||||
else:
|
||||
myappend('%' + item)
|
||||
|
|
Loading…
Reference in New Issue