summaryrefslogtreecommitdiffstats
path: root/src/engine
diff options
context:
space:
mode:
Diffstat (limited to 'src/engine')
-rw-r--r--src/engine/SCons/Environment.py6
-rw-r--r--src/engine/SCons/Node/FS.py7
-rw-r--r--src/engine/SCons/Node/Python.py2
-rw-r--r--src/engine/SCons/Tool/intelc.py5
-rw-r--r--src/engine/SCons/Util.py2
-rw-r--r--src/engine/SCons/dblite.py2
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