website/docs/guides/how-to/report-error.md
Just follow Flutter's guide, or your error backend's guide, to setup the error handling.
It will catch all pure Dart errors, as well as all Rust errors that are propagated to Dart.
If you are not seeing Rust stack traces, please refer to this page to setup.
:::info I personally do this because my Rust code has symbols stripped. Thus, to see the Rust stack traces, I have to integrate the error reporting SDK at this layer, to let it capture enough information for symbolication.
For normal users, try to do the Dart side setup first, and only do this if that does not give you enough information. :::
We can simply use a custom Handler:
pub struct MyErrorHandler(ReportDartErrorHandler);
impl ErrorHandler for MyErrorHandler {
fn handle_error(&self, port: i64, error: handler::Error) {
send_error_to_your_backend(&error);
self.0.handle_error(port, error)
}
...
}