From e59dacefa2b1770455e74b2e102fe1c935dbc477 Mon Sep 17 00:00:00 2001 From: Max Date: Thu, 6 Mar 2025 10:48:27 +0800 Subject: [PATCH] Improve error handling in request value execution - Modify request value execution to log errors when method calls fail - Prevent propagation of errors during value resolution - Update error message in data merging to be more descriptive --- sui/api/request.go | 2 +- sui/core/request.go | 7 ++++++- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/sui/api/request.go b/sui/api/request.go index 8ca48a40..6b45d5ef 100644 --- a/sui/api/request.go +++ b/sui/api/request.go @@ -141,7 +141,7 @@ func (r *Request) Render() (string, int, error) { if c.Data != "" { err = r.Request.ExecStringMerge(data, c.Data) if err != nil { - return "", 500, fmt.Errorf("data error, please re-complie the page. %s", err.Error()) + return "", 500, fmt.Errorf("data merge error, please re-complie the page. %s", err.Error()) } } diff --git a/sui/core/request.go b/sui/core/request.go index 43d8f71b..3382d447 100644 --- a/sui/core/request.go +++ b/sui/core/request.go @@ -218,7 +218,12 @@ func (r *Request) execValue(value interface{}) (interface{}, error) { } if strings.HasPrefix(v, "$") { - return r.call(strings.TrimLeft(v, "$")) + res, err := r.call(strings.TrimLeft(v, "$")) + if err != nil { + log.Error("[Request] Exec value:%s, %s", v, err.Error()) + return nil, nil + } + return res, nil } return v, nil