From 2d152ba32d048e1e97438d99dd24ed5a32a6b961 Mon Sep 17 00:00:00 2001 From: jwijenbergh Date: Mon, 12 Sep 2022 08:55:30 +0200 Subject: Types Error: Do not panic on JSON error --- exports/exports.go | 6 +++++- internal/types/error.go | 6 +++--- state.go | 2 +- 3 files changed, 9 insertions(+), 5 deletions(-) diff --git a/exports/exports.go b/exports/exports.go index daf84bb..b4eb909 100644 --- a/exports/exports.go +++ b/exports/exports.go @@ -114,7 +114,11 @@ func ErrorToString(error error) string { return "" } - return eduvpn.GetErrorJSONString(error) + errorString, jsonErr := eduvpn.GetErrorJSONString(error) + if jsonErr != nil { + return "" + } + return errorString } //export CancelOAuth diff --git a/internal/types/error.go b/internal/types/error.go index ad6a7e0..8612de3 100644 --- a/internal/types/error.go +++ b/internal/types/error.go @@ -88,7 +88,7 @@ type WrappedErrorMessageJSON struct { Traceback string `json:"traceback"` } -func GetErrorJSONString(err error) string { +func GetErrorJSONString(err error) (string, error) { var wrappedErr *WrappedErrorMessage var level ErrorLevel @@ -110,7 +110,7 @@ func GetErrorJSONString(err error) string { ) if jsonErr != nil { - panic(jsonErr) + return "", jsonErr } - return string(json) + return string(json), nil } diff --git a/state.go b/state.go index fe630c9..1354ffc 100644 --- a/state.go +++ b/state.go @@ -714,6 +714,6 @@ func GetErrorTraceback(err error) string { return types.GetErrorTraceback(err) } -func GetErrorJSONString(err error) string { +func GetErrorJSONString(err error) (string, error) { return types.GetErrorJSONString(err) } -- cgit v1.2.3