Skip to content

Conversation

@kuhnroyal
Copy link
Member

An evaluation of how DioException can work with better stack traces that can be catched while still being aware of the cause and the stack trace of the cause.
Related to #1914

  • rename DioException.error to DioException.cause
  • add DioException.causeStackTrace
  • get rid of RequestOptions.sourceStackTrace property
  • use Error.throwWithStackTrace to throw all errors with the manually captured stack trace at a single point in DioMixin
  • extract some inner functions inside DioMixin.fetch to prevent them capturing the state of requestOptions and cancelToken variables, instead pass them as arguments

New Pull Request Checklist

  • I have read the Documentation
  • I have searched for a similar pull request in the project and found none
  • I have updated this branch with the latest main branch to avoid conflicts (via merge from master or rebase)
  • I have added the required tests to prove the fix/feature I'm adding
  • I have updated the documentation (if necessary)
  • I have run the tests without failures
  • I have updated the CHANGELOG.md in the corresponding package

Additional context and info (if any)

* rename `DioException.error` to `DioException.cause`
* add `DioException.causeStackTrace`
* get rid of `RequestOptions.sourceStackTrace` property
* use `Error.throwWithStackTrace` to throw all errors with the manually captured stack trace at a single point in `DioMixin`
* extract some inner functions inside `DioMixin.fetch` to prevent them capturing the state of `requestOptions` and `cancelToken` variables, instead pass them as arguments
@kuhnroyal kuhnroyal added s: feature This issue indicates a feature request p: dio Targeting `dio` package labels Sep 11, 2023
@kuhnroyal kuhnroyal self-assigned this Sep 11, 2023
@kuhnroyal kuhnroyal added this to the 6.0.0 milestone Mar 15, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

p: dio Targeting `dio` package s: feature This issue indicates a feature request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant