Skip to content

Commit

Permalink
add guidelines for choosing panics or error results (#6958)
Browse files Browse the repository at this point in the history
* add guidelines for choosing panics or error results

* add note to clarify that checking invalidity of user input is the key point

* apply reviewer suggestions

Co-authored-by: Andrew Lamb <[email protected]>

* remove redundant word

* fix markdown format

---------

Co-authored-by: jp0317 <[email protected]>
Co-authored-by: Andrew Lamb <[email protected]>
  • Loading branch information
3 people authored Jan 13, 2025
1 parent 8327493 commit 3b31ff6
Showing 1 changed file with 10 additions and 0 deletions.
10 changes: 10 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -90,6 +90,16 @@ Planned Release Schedule
| Dec 2024 | `0.11.2` | Minor, NO breaking API changes |
| Feb 2025 | `0.12.0` | Major, potentially breaking API changes |

### Guidelines for `panic` vs `Result`

In general, use panics for bad states that are unreachable, unrecoverable or harmful.
For those caused by invalid user input, however, we prefer to report that invalidity
gracefully as an error result instead of panicking. In general, invalid input should result
in an `Error` as soon as possible. It _is_ ok for code paths after validation to assume
validation has already occurred and panic if not. See [this ticket] for more nuances.

[this ticket]: https://github.com/apache/arrow-rs/issues/6737

### Deprecation Guidelines

Minor releases may deprecate, but not remove APIs. Deprecating APIs allows
Expand Down

0 comments on commit 3b31ff6

Please sign in to comment.