[C++][Parquet] Make error reporting more detailed
- Dominant language
- C++
- Stars
- 17.1k
- Forks
- 4.3k
- Avg merge
- 3d 13h
- Merged PRs (30d)
- 88
Description
### Describe the enhancement requested
This is really a long-standing annoyance: while Arrow C++ has rich error reporting with the various `Status` categories and `StatusDetail`, all Parquet errors boil down to a single class `ParquetException` with only an error message.
This issue proposes that we do the following things:
1. introduce a hierarchy of Parquet exception classes that would roughly mirror the `Status` categories (except the unusual/unused ones)
2. due a thorough search for `throw` in the Parquet C++ code base and convert each site to the appropriate exception
3. ensure the Status-to-exception and exception-to-Status bridges keep as much detail as possible (ideally this includes `StatusDetail` too)
### Component(s)
C++, Parquet
Contributor guide
Assessment
This issue has not been assessed yet.