mirror of
https://github.com/superseriousbusiness/gotosocial.git
synced 2024-11-02 15:30:01 +00:00
38 lines
733 B
Go
38 lines
733 B
Go
|
package expr
|
||
|
|
||
|
import (
|
||
|
`fmt`
|
||
|
)
|
||
|
|
||
|
// SyntaxError represents a syntax error in the expression.
|
||
|
type SyntaxError struct {
|
||
|
Pos int
|
||
|
Reason string
|
||
|
}
|
||
|
|
||
|
func newSyntaxError(pos int, reason string) *SyntaxError {
|
||
|
return &SyntaxError {
|
||
|
Pos : pos,
|
||
|
Reason : reason,
|
||
|
}
|
||
|
}
|
||
|
|
||
|
func (self *SyntaxError) Error() string {
|
||
|
return fmt.Sprintf("Syntax error at position %d: %s", self.Pos, self.Reason)
|
||
|
}
|
||
|
|
||
|
// RuntimeError is an error which would occure at run time.
|
||
|
type RuntimeError struct {
|
||
|
Reason string
|
||
|
}
|
||
|
|
||
|
func newRuntimeError(reason string) *RuntimeError {
|
||
|
return &RuntimeError {
|
||
|
Reason: reason,
|
||
|
}
|
||
|
}
|
||
|
|
||
|
func (self *RuntimeError) Error() string {
|
||
|
return "Runtime error: " + self.Reason
|
||
|
}
|