getsentry / getsentry/sentry-ruby

Opaque with_scope behaviour with exceptions in block

未关闭
#1,855 9 条评论 2 个 reaction 已指派 1 人 已被 @sl0thentr0py 认领 在 GitHub 查看
Discussion Errors Improvement Question Ruby sentry-ruby
主要语言
Ruby
星标
987
派生
541
平均合并
17 小时 40 分钟
30 天内合并 PR
19

描述

Creating this issue for further discussion.

If you do the following, the exception will be captured but the tag won't be used (because that scope is thrown away in [an ensure](https://github.com/getsentry/sentry-ruby/blob/332315907185e6ffe05aa64dc751cdd8ab9f5448/sentry-ruby/lib/sentry/hub.rb#L60-L61)).
```ruby
Sentry.with_scope do |scope|
scope.set_tags(my_tag: "my value")
1 / 0
end
```

If you do the following, the exception will be captured _and_ the tag will be visible.
```ruby
Sentry.with_scope do |scope|
scope.set_tags(my_tag: "my value")

begin
1 / 0
rescue => e
Sentry.capture_exception(e)
end
end
```

_Originally posted by @sl0thentr0py in https://github.com/getsentry/sentry-docs/pull/5328#issuecomment-1194148134_

贡献指南

打开贡献指南

评估

这个 Issue 还没有评估数据。

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。