12345678910111213141516171819202122232425262728293031323334353637383940414243444546 |
- package richtext
- type Error interface {
- error
- Message() Block
- }
- func ErrorFrom(err error) Error {
- return StdError { err }
- }
- type StdError struct { Underlying error }
- func MakeStdError(err error) StdError {
- return StdError { err }
- }
- func (e StdError) Error() string {
- return e.Underlying.Error()
- }
- func (e StdError) Message() Block {
- var b Block
- b.WriteLine(e.Error(), TAG_ERR_NORMAL)
- return b
- }
- type Errors ([] Error)
- func ErrorsJoin(errs *Errors, err Error) {
- if err != nil {
- *errs = append(*errs, err)
- }
- }
- func (errs Errors) Message() Block {
- if len(errs) == 0 {
- panic("invalid operation")
- }
- var b Block
- for _, item := range errs {
- b.Append(item.Message())
- }
- return b
- }
- func (errs Errors) Error() string {
- return errs.Message().RenderConsole()
- }
|