J'essaye de attempt
un Aff
calcul. Considérez le code suivant:Les parenthèses changent l'exécution de code
result <-
pool # withPool \connection -> do
execute_ ("insert into user (email, password) values ('"
<> unwrap userInfo.email <> "', '" <> unwrap userInfo.password <> "')")
connection
# attempt
Le résultat Aff
de attempt
est exécuté plus tard à l'aide runAff
.
Malgré l'utilisation de attempt
, l'erreur dans withPool
est propagée au gestionnaire d'erreurs runAff
.
Cependant, si des parenthèses sont ajoutées autour de la Aff
étant tenté, l'erreur est « pris » comme prévu:
result <-
(pool # withPool \connection -> do
execute_ ("insert into user (email, password) values ('"
<> unwrap userInfo.email <> "', '" <> unwrap userInfo.password <> "')")
connection)
# attempt
Que suis-je manque ici et pourquoi le comportement de ces deux extraits de code différents?