Fix missing env var error #5
@@ -41,7 +41,7 @@ pub fn load_config() -> anyhow::Result<EnvConfig> {
|
||||
}
|
||||
|
||||
pub fn try_get_env(key: &str) -> anyhow::Result<String> {
|
||||
let env = std::env::var(key)?;
|
||||
let env = std::env::var(key).map_err(|e| anyhow::anyhow!(format!("{}: {}", key, e)))?;
|
||||
|
qpismont marked this conversation as resolved
Outdated
|
||||
|
||||
if env.trim().is_empty() {
|
||||
|
qpismont marked this conversation as resolved
Herald
commented
Ce bloc Ce bloc `if` ne fait rien si la valeur est vide. Il semble que vous souhaitiez traiter une variable d'environnement vide comme une erreur, mais le code continue et retourne `Ok(env_value)` à la ligne 50. Vous devriez ajouter une instruction de retour d'erreur (par exemple avec `bail!` ou `return Err(...)`) à l'intérieur du bloc `if`, ou bien utiliser une structure différente pour gérer le cas vide.
Herald
commented
Après avoir vérifié que la variable d'environnement est vide ou ne contient que des espaces, il n'y a pas de traitement visible (pas de Après avoir vérifié que la variable d'environnement est vide ou ne contient que des espaces, il n'y a pas de traitement visible (pas de `return Err(...)` ni de `panic!`). Si l'intention est de rejeter les valeurs vides, il faut ajouter une gestion d'erreur explicite, par exemple `return Err(anyhow::anyhow!("{}: variable vide", key))`. Sinon, la fonction continue avec une valeur vide et échouera peut-être plus tard de manière obscure.
|
||||
return Err(anyhow!(format!("env var {} is empty", key)));
|
||||
|
||||
L'utilisation de
format!à l'intérieur deanyhow!est redondante.anyhow!accepte directement une chaîne formatée. Préférezanyhow!("{}: {}", key, e)pour plus de clarté et de concision.Le nom de variable
envest trop générique. Envisagez un nom plus explicite commevalueouenv_valuepour indiquer qu'il s'agit de la valeur de la variable d'environnement, et non de l'environnement lui-même.Cette transformation en
anyhow::Errorest claire et appropriée. Bonne pratique pour la propagation d'erreur.