19 lines
345 B
Text
19 lines
345 B
Text
|
|
type Processor interface {
|
|
Process(buf []byte) (message string, err error)
|
|
}
|
|
|
|
type ErrorHandler interface {
|
|
Handle(err error)
|
|
}
|
|
|
|
func RegularError(buf []byte, processor Processor,
|
|
handler ErrorHandler) (message string, err error) {
|
|
message, err = processor.Process(buf)
|
|
if err != nil {
|
|
handler.Handle(err)
|
|
return "", err
|
|
}
|
|
return
|
|
}
|
|
|