ast.go, pasrse.go: fixed the recover routine

This commit is contained in:
2026-05-01 17:03:44 +02:00
parent f2d1f23774
commit 75ed88915d
2 changed files with 6 additions and 8 deletions
+4 -5
View File
@@ -111,11 +111,10 @@ func (ast *ast) Eval(ctx kern.ExprContext) (result any, err error) {
if r := recover(); r != nil {
if errVal, ok := r.(error); ok {
err = errVal
} else {
err = errors.New("unexpected error while evaluating the expression")
}
}
if err == nil {
err = errors.New("unexpected error while evaluating the expression")
}
}()
ast.Finish()
@@ -123,8 +122,8 @@ func (ast *ast) Eval(ctx kern.ExprContext) (result any, err error) {
if ast.root != nil {
// initDefaultVars(ctx)
if ast.forest != nil {
for _, root := range ast.forest {
if result, err = root.Compute(ctx); err == nil {
for _, tree := range ast.forest {
if result, err = tree.Compute(ctx); err == nil {
ctx.UnsafeSetVar(kern.ControlLastResult, result)
} else {
//err = fmt.Errorf("error in expression nr %d: %v", i+1, err)