getsentry / getsentry/sentry-ruby

Opaque with_scope behaviour with exceptions in block

Open
#1,855 9 comments 2 reactions 1 assignee Claimed by @sl0thentr0py View on GitHub
Discussion Errors Improvement Question Ruby sentry-ruby
Dominant language
Ruby
Stars
987
Forks
541
Avg merge
17h 40m
Merged PRs (30d)
19

Description

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_

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.