blob: d776a22dbc0062a3e94f4f162c972a9922ca4d8b [file] [log] [blame]
brians343bc112013-02-10 01:53:46 +00001class QError < Exception
2 def initialize(msg)
3 super()
4 @msg = msg
5 @qstacktrace = []
6 end
7 def self.set_name(name)
8 @pretty_name = name
9 end
10 def self.pretty_name()
11 @pretty_name
12 end
13 def to_s
14 msg = "Error:(#{self.class.pretty_name})\n\t"
15 msg += @msg
16 msg += "\n" if(msg[-1] != "\n")
17 @qstacktrace.each do |part|
18 part = part.q_stack_name if(part.respond_to?(:q_stack_name))
19 msg += "\tfrom: #{part}\n"
20 end
21 return msg
22 end
23 set_name("Base Level Exception.")
24 attr_accessor :qstacktrace
25end
26class QSyntaxError < QError
27 def initialize(msg)
28 super(msg)
29 end
30 set_name("Syntax Error")
31end
32class QNamespaceCollision < QError
33 def initialize(msg)
34 super(msg)
35 end
36 set_name("Namespace Collision")
37end
38class QImportNotFoundError < QError
39 def initialize(msg)
40 super(msg)
41 end
42 set_name("Couldn't Find Target of Import Statement")
43end