BurntSushi / jiff

A date-time library for Rust that encourages you to jump into the pit of success.
The Unlicense
1.74k stars 33 forks source link

tz: add `TimeZone::try_system` #123

Closed BurntSushi closed 2 months ago

BurntSushi commented 2 months ago

This API is like TimeZone::system, but turns "get system configured time zone" into a fallible operation instead of automatically falling back to UTC.

The error message here is pretty generic and uninformative. All of the interesting bits are emitting as log messages. In #65, I talked about improving this, but it's not quite clear the best way to do that. I think we'd probably need to invent some smarter infrastructure for collecting a "trace" of what was attempted, and then either emit them as log messages or tie them up into a single error message. But the latter case could result in a very big error message.

So for now, this just returns a pretty generic error message, but all of the log statements are still there for when you need to understand more deeply what went wrong.