Fix document parse() error handling
D'oh - I forgot to set the returned *Document when we panic.
This commit is contained in:
parent
cbcdd4f923
commit
3ccbbc46ff
1 changed files with 4 additions and 3 deletions
|
@ -100,10 +100,11 @@ func (d *Document) Write(w Writer) (out string, err error) {
|
||||||
return w.String(), err
|
return w.String(), err
|
||||||
}
|
}
|
||||||
|
|
||||||
func (d *Document) Parse(input io.Reader) *Document {
|
func (dIn *Document) Parse(input io.Reader) (d *Document) {
|
||||||
|
d = dIn
|
||||||
defer func() {
|
defer func() {
|
||||||
if err := recover(); err != nil {
|
if recovered := recover(); recovered != nil {
|
||||||
d.Error = fmt.Errorf("could not parse input: %s", err)
|
d.Error = fmt.Errorf("could not parse input: %v", recovered)
|
||||||
}
|
}
|
||||||
}()
|
}()
|
||||||
if d.tokens != nil {
|
if d.tokens != nil {
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue