В настоящее время нет способа создать ParseIntError
самостоятельно.Как вы обнаружите, существует открытый issue
, который просит обнародовать его.Однако я не думаю, что это хорошо.
ParseIntError
- ошибка модуля num
.Он не предназначен для использования всеми, кто реализует синтаксический анализатор, потому что у вас должна быть ваша собственная потенциальная ошибка.Вы могли бы использовать IntErrorKind
, но я все еще не думаю, что это хорошая вещь, потому что вы могли бы закончить тем, что у вас не будет той же ошибки.
Итак, я думаю, у вас должна быть собственная ошибкатип, и, возможно, использовать тот же дизайн, имеют атрибут enum
с #[non_exhaustive]
.Существует множество ящиков , которые упрощают создание ошибок.Не стесняйтесь использовать собственную ошибку в своем коде.