Open codesections opened 4 years ago
I would be more than happy to accept a PR changing this in the examples.
The dotenv
function will return an error so long as it can't find a .env
file. That isn't generally considered an error state for programs loading environment variables like this, since the file is just one way to pass environment variables into the function. I'd say dotenv().ok()
is typically the right way to use the crate.
Definitely in support of improving the documentation to avoid this misconception, but I don't think expect
is the right solution.
Edit: #57 has a reasonable solution to this
Thanks very much for this crate.
The examples in the
README
and the documentation all show usingdotenv::dotenv().ok()
ordotenv::from_filename("custom.env").ok()
. The.ok()
causesdotenv
to silently ignore errors in loading the environment file. Perhaps that should have been obvious to me, but it wasn't, especially when I first started using the crate a few months ago. Given how explicit Rust typically is with errors, this wasn't the behavior I expected. I've learned my lesson, but wondered if others might also have been confused.I understand not wanting to have full error handling in examples, but the most common way I've seen this handled in the Rust ecosystem is to use
expect
. Would you be open to changing the documentation examples to something likedotenv::dotenv().expect("Could not open .env file")
? If so, I'd be happy to submit a PR.