diff options
Diffstat (limited to 'src/engine')
| -rw-r--r-- | src/engine/SCons/Environment.py | 6 | ||||
| -rw-r--r-- | src/engine/SCons/Node/FS.py | 7 | ||||
| -rw-r--r-- | src/engine/SCons/Node/Python.py | 2 | ||||
| -rw-r--r-- | src/engine/SCons/Tool/intelc.py | 5 | ||||
| -rw-r--r-- | src/engine/SCons/Util.py | 2 | ||||
| -rw-r--r-- | src/engine/SCons/dblite.py | 2 |
6 files changed, 15 insertions, 9 deletions
diff --git a/src/engine/SCons/Environment.py b/src/engine/SCons/Environment.py index 7de6307..ca543bd 100644 --- a/src/engine/SCons/Environment.py +++ b/src/engine/SCons/Environment.py @@ -836,7 +836,11 @@ class Base: continue try: target, depends = string.split(line, ':', 1) - except: + except (AttributeError, TypeError, ValueError): + # Python 1.5.2 throws TypeError if line isn't a string, + # Python 2.x throws AttributeError because it tries + # to call line.splite(). Either can throw ValueError + # if the line doesn't split into two or more elements. pass else: self.Depends(string.split(target), string.split(depends)) diff --git a/src/engine/SCons/Node/FS.py b/src/engine/SCons/Node/FS.py index c5d10bc..c381b8a 100644 --- a/src/engine/SCons/Node/FS.py +++ b/src/engine/SCons/Node/FS.py @@ -1452,6 +1452,9 @@ class File(Base): def get_stored_info(self): try: stored = self.dir.sconsign().get_entry(self.name) + except (KeyError, OSError): + return BuildInfo() + else: if isinstance(stored, BuildInfo): return stored # The stored build information isn't a BuildInfo object. @@ -1463,8 +1466,6 @@ class File(Base): for key, val in stored.__dict__.items(): setattr(binfo, key, val) return binfo - except: - return BuildInfo() def get_stored_implicit(self): binfo = self.get_stored_info() @@ -1744,7 +1745,7 @@ class File(Base): try: mtime = self.get_timestamp() - except: + except OSError: mtime = 0 raise SCons.Errors.UserError, "no such %s" % self diff --git a/src/engine/SCons/Node/Python.py b/src/engine/SCons/Node/Python.py index 28ff674..cabc162 100644 --- a/src/engine/SCons/Node/Python.py +++ b/src/engine/SCons/Node/Python.py @@ -68,7 +68,7 @@ class Value(SCons.Node.Node): value contents.""" try: binfo = self.binfo - except: + except AttributeError: binfo = self.binfo = self.new_binfo() try: return binfo.csig diff --git a/src/engine/SCons/Tool/intelc.py b/src/engine/SCons/Tool/intelc.py index ded33e9..454998a 100644 --- a/src/engine/SCons/Tool/intelc.py +++ b/src/engine/SCons/Tool/intelc.py @@ -189,10 +189,11 @@ def generate(env, version=None, abi=None, topdir=None, verbose=1): for p in paths: try: path=get_intel_registry_value(p[1], version, abi) + except SCons.Errors.InternalError: + env.PrependENVPath(p[0], os.path.join(topdir, p[2])) + else: env.PrependENVPath(p[0], ';'.split(path)) # print "ICL %s: %s, final=%s"%(p[0], path, str(env['ENV'][p[0]])) - except: - env.PrependENVPath(p[0], os.path.join(topdir, p[2])) if is_win32: env['CC'] = 'icl' diff --git a/src/engine/SCons/Util.py b/src/engine/SCons/Util.py index 87aba96..982fdec 100644 --- a/src/engine/SCons/Util.py +++ b/src/engine/SCons/Util.py @@ -181,7 +181,7 @@ else: def to_String_for_signature(obj): try: f = obj.for_signature - except: + except AttributeError: return to_String(obj) else: return f() diff --git a/src/engine/SCons/dblite.py b/src/engine/SCons/dblite.py index 8bd28e9..00f8274 100644 --- a/src/engine/SCons/dblite.py +++ b/src/engine/SCons/dblite.py @@ -61,7 +61,7 @@ class dblite: if (len(p) > 0): try: self._dict = cPickle.loads(p) - except: + except cPickle.UnpicklingError: if (ignore_corrupt_dbfiles == 0): raise if (ignore_corrupt_dbfiles == 1): print "Warning: Discarding corrupt database:", self._file_name |
