apache / apache/arrow

[C++][Parquet] Make error reporting more detailed

Open
#46,597 3 comments 2 reactions 0 assignees View on GitHub
Component: C++ Component: Parquet good-second-issue Status: needs champion Type: enhancement
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

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.