github.com/chenzhuoyu/iasm@v0.9.1/expr/errors.go (about) 1 package expr 2 3 import ( 4 `fmt` 5 ) 6 7 // SyntaxError represents a syntax error in the expression. 8 type SyntaxError struct { 9 Pos int 10 Reason string 11 } 12 13 func newSyntaxError(pos int, reason string) *SyntaxError { 14 return &SyntaxError { 15 Pos : pos, 16 Reason : reason, 17 } 18 } 19 20 func (self *SyntaxError) Error() string { 21 return fmt.Sprintf("Syntax error at position %d: %s", self.Pos, self.Reason) 22 } 23 24 // RuntimeError is an error which would occure at run time. 25 type RuntimeError struct { 26 Reason string 27 } 28 29 func newRuntimeError(reason string) *RuntimeError { 30 return &RuntimeError { 31 Reason: reason, 32 } 33 } 34 35 func (self *RuntimeError) Error() string { 36 return "Runtime error: " + self.Reason 37 }