code: func NewReaderOnError(r io.Reader, notify func(error)) io.Reader {
  	return &readerOnError{r, notify}
  }
docs: // NewReaderOnError returns a io.Reader that call the notify function when an
  // unexpected (!io.EOF) error happens, after call Read function.