aboutsummaryrefslogtreecommitdiff
path: root/src/nvim/api/private/helpers.c
diff options
context:
space:
mode:
authorzeertzjq <zeertzjq@outlook.com>2023-01-16 19:28:17 +0800
committerGitHub <noreply@github.com>2023-01-16 19:28:17 +0800
commite7ea156604156b7a70d120d0df5448442b1cdf10 (patch)
tree5270a336a2a70b7bf19275214830055aefb81999 /src/nvim/api/private/helpers.c
parent90493beb1584b9a99d3a71658bccd536d601e0f7 (diff)
parent61d5bd561addfd4cc9917712bdf983e77137089e (diff)
downloadrneovim-e7ea156604156b7a70d120d0df5448442b1cdf10.tar.gz
rneovim-e7ea156604156b7a70d120d0df5448442b1cdf10.tar.bz2
rneovim-e7ea156604156b7a70d120d0df5448442b1cdf10.zip
Merge pull request #20945 from erw7/feat-more-exception-info
feat(api): show more exception info
Diffstat (limited to 'src/nvim/api/private/helpers.c')
-rw-r--r--src/nvim/api/private/helpers.c13
1 files changed, 12 insertions, 1 deletions
diff --git a/src/nvim/api/private/helpers.c b/src/nvim/api/private/helpers.c
index bf19c8c395..519f2cc5bf 100644
--- a/src/nvim/api/private/helpers.c
+++ b/src/nvim/api/private/helpers.c
@@ -150,7 +150,18 @@ bool try_end(Error *err)
xfree(msg);
}
} else if (did_throw) {
- api_set_error(err, kErrorTypeException, "%s", current_exception->value);
+ if (*current_exception->throw_name != NUL) {
+ if (current_exception->throw_lnum != 0) {
+ api_set_error(err, kErrorTypeException, "%s, line %" PRIdLINENR ": %s",
+ current_exception->throw_name, current_exception->throw_lnum,
+ current_exception->value);
+ } else {
+ api_set_error(err, kErrorTypeException, "%s: %s",
+ current_exception->throw_name, current_exception->value);
+ }
+ } else {
+ api_set_error(err, kErrorTypeException, "%s", current_exception->value);
+ }
discard_current_exception();
}