26 lines
321 B
Go
26 lines
321 B
Go
package native
|
|
|
|
import (
|
|
"io"
|
|
"runtime"
|
|
)
|
|
|
|
var tab8s = " "
|
|
|
|
func catchError(err *error) {
|
|
if pv := recover(); pv != nil {
|
|
switch e := pv.(type) {
|
|
case runtime.Error:
|
|
panic(pv)
|
|
case error:
|
|
if e == io.EOF {
|
|
*err = io.ErrUnexpectedEOF
|
|
} else {
|
|
*err = e
|
|
}
|
|
default:
|
|
panic(pv)
|
|
}
|
|
}
|
|
}
|