3
# WARNING! All changes made to this file will be lost!
5
import traceback,os,sys
6
class WafError(Exception):
7
def __init__(self,msg='',ex=None):
9
assert not isinstance(msg,Exception)
14
if isinstance(ex,WafError):
17
self.stack=traceback.extract_tb(sys.exc_info()[2])
18
self.stack+=traceback.extract_stack()[:-1]
19
self.verbose_msg=''.join(traceback.format_list(self.stack))
22
class BuildError(WafError):
23
def __init__(self,error_tasks=[]):
24
self.tasks=error_tasks
25
WafError.__init__(self,self.format_error())
26
def format_error(self):
28
for tsk in self.tasks:
29
txt=tsk.format_error()
30
if txt:lst.append(txt)
32
class ConfigurationError(WafError):
34
class TaskRescan(WafError):
36
class TaskNotReady(WafError):