0
我正在嘗試attempt
和Aff
計算。請看下面的代碼:括號更改代碼執行
result <-
pool # withPool \connection -> do
execute_ ("insert into user (email, password) values ('"
<> unwrap userInfo.email <> "', '" <> unwrap userInfo.password <> "')")
connection
# attempt
所得的attempt
Aff
以後運行使用runAff
。
儘管使用了attempt
,但將withPool
中的錯誤傳播到了錯誤處理程序runAff
。
但是,如果括號內爲Aff
添加周圍正在嘗試,錯誤是「捕獲」預期:
result <-
(pool # withPool \connection -> do
execute_ ("insert into user (email, password) values ('"
<> unwrap userInfo.email <> "', '" <> unwrap userInfo.password <> "')")
connection)
# attempt
我是什麼在這裏失蹤,爲什麼是這兩個代碼的行爲代碼片斷有何不同?