1# Crash Event Overview
2
3HiAppEvent provides APIs for subscribing to crash events.
4
5- [Subscribing to Crash Events (ArkTS)](hiappevent-watcher-crash-events-arkts.md)
6- [Subscribing to Crash Events (C/C++)](hiappevent-watcher-crash-events-ndk.md)
7
8The **params** parameter in the event information is described as follows.
9
10**params**
11
12| Name   | Type  | Description                      |
13| ------- | ------ | ------------------------- |
14| time     | number | Event triggering time, in ms.|
15| crash_type | string | Crash type, which can be JsError or NativeCrash.|
16| foreground | boolean | Whether the application is running in the foreground.|
17| bundle_version | string | Application version.|
18| bundle_name | string | Application name.|
19| pid | number | Process ID of the application.|
20| uid | number | User ID of the application.|
21| uuid | string | Error ID.|
22| exception | object | Exception information. For details, see **exception**. <br>For details about the NativeCrash events, see **exception (NativeCrash)**. **exception** contains only brief fault information. For details, see the **external_log** file.|
23| hilog | string[] | Log information.|
24| threads | object[] | Full thread call stack. For details, see **thread**. This field applies only to NativeCrash events.|
25| external_log<sup>12+</sup> | string[] | Path of the error log file. If the directory files exceed the threshold (for details, see **log_over_limit**), new log files may fail to be written. Therefore, delete the log files immediately after they are processed.|
26| log_over_limit<sup>12+</sup> | boolean | Whether the size of generated fault log files and existing log files exceeds the upper limit (5 MB). The value **true** indicates that the upper limit is exceeded and logs fail to be written. The value **false** indicates that the upper limit is not exceeded.|
27
28**exception**
29
30| Name   | Type  | Description                      |
31| ------- | ------ | ------------------------- |
32| name | string | Exception type.|
33| message | string | Exception cause.|
34| stack | string | Exception call stack.|
35
36**exception (NativeCrash)**
37
38| Name   | Type  | Description                      |
39| ------- | ------ | ------------------------- |
40| message | string | Exception cause.|
41| signal | object | Signal information. For details, see **signal**.|
42| thread_name | string | Thread name.|
43| tid | number | Thread ID.|
44| frames | object[] | Thread call stack. For details, see **frame**.|
45
46**signal**
47
48| Name   | Type  | Description                      |
49| ------- | ------ | ------------------------- |
50| signo | number | Signal value (**si_signo** in **siginfo_t**)|
51| code | number | Level-2 classification of signal values (**si_code** in **siginfo_t**)|
52| address | string | Signal error address (**si_address** attribute in **siginfo_t**)|
53
54[Signal Value & Level-2 Classification of Signal Values](cppcrash-guidelines.md)
55
56**thread**
57
58| Name   | Type  | Description                      |
59| ------- | ------ | ------------------------- |
60| thread_name | string | Thread name.|
61| tid | number | Thread ID.|
62| frames | object[] | Thread call stack. For details, see **frame**.|
63
64**frame (C/C++)**
65
66| Name   | Type  | Description                      |
67| ------- | ------ | ------------------------- |
68| file | string | File name.|
69| symbol | string | Function name.|
70| buildId | string | Unique file ID.|
71| pc | string | PC register address.|
72| offset | number | Function offset.|
73
74**frame (JS)**
75
76| Name   | Type  | Description                      |
77| ------- | ------ | ------------------------- |
78| file | string | File name.|
79| symbol | string | Function name.|
80| column | number | The column where an exception occurs.|
81| line | number | The line where an exception occurs.|
82