|
1 | 1 | To capture an error or exception condition, create events containing an
|
2 |
| -exception object. It needs to contain at least a value and type: |
| 2 | +exception object: |
3 | 3 |
|
4 | 4 | ```cpp
|
5 | 5 | #include <sentry.h>
|
6 | 6 |
|
7 |
| -sentry_value_t exc = sentry_value_new_object(); |
8 |
| -sentry_value_set_by_key(exc, "type", sentry_value_new_string("Exception")); |
9 |
| -sentry_value_set_by_key(exc, "value", sentry_value_new_string("Error message.")); |
| 7 | +sentry_value_t event = sentry_value_new_event(); |
| 8 | + |
| 9 | +sentry_value_t exc = sentry_value_new_exception("Exception", "Error message."); |
| 10 | +sentry_event_add_exception(event, exc); |
10 | 11 |
|
11 |
| -sentry_value_t exceptions = sentry_value_new_object(); |
12 |
| -sentry_value_t values = sentry_value_new_list(); |
| 12 | +sentry_capture_event(event); |
| 13 | +``` |
13 | 14 |
|
14 |
| -sentry_value_set_by_key(exceptions, "values", values); |
15 |
| -sentry_value_append(values, exc); |
| 15 | +The above exception does not contain a stack trace, which must be added separately: |
| 16 | +
|
| 17 | +```cpp |
| 18 | +#include <sentry.h> |
16 | 19 |
|
17 | 20 | sentry_value_t event = sentry_value_new_event();
|
18 |
| -sentry_value_set_by_key(event, "exception", exceptions); |
| 21 | +
|
| 22 | +sentry_value_t exc = sentry_value_new_exception("Exception", "Error message."); |
| 23 | +
|
| 24 | +sentry_value_t stacktrace = sentry_value_new_stacktrace(NULL, 0); |
| 25 | +sentry_value_set_by_key(exc, "stacktrace", stacktrace); |
| 26 | +
|
| 27 | +sentry_event_add_exception(event, exc); |
19 | 28 |
|
20 | 29 | sentry_capture_event(event);
|
21 | 30 | ```
|
22 |
| -
|
23 |
| -This exception does not contain a stack trace, which must be added separately. |
|
0 commit comments