Read PureScript by Example book에서 예제를 복제하려고합니다.Error 대 ErrorEvent - Purescript에서 catchException을 사용하여 예외를 처리합니다.
나는이 오류가 무엇입니까 : 여기
Could not match type
Error
with type
ErrorEvent
내가 시도하고 그 예를의 POC를 만들기 위해 사용 된 코드입니다.
import Prelude
import Control.Monad.Eff
import Control.Monad.Eff.Console (CONSOLE, log)
import Control.Monad.Eff.Exception (EXCEPTION, Error, throwException, catchException, error)
import DOM.HTML.Event.ErrorEvent (message)
grumpyGills :: forall eff. Boolean -> Eff (err :: EXCEPTION | eff) String
grumpyGills ateVegetables = if (ateVegetables)
then pure("Good Boy")
else throwException (error "Eat your vegetables")
main = do
test <- catchException handle $ grumpyGills true
log test
where
handle e = do
log (message e)
pure("oh well")
문제는 코드를 사용하려고 할 때 나는 같은 컴파일 오류가 제외 게시, 기본적으로이 예제와 같습니다 How do I return a value from a PureScript function with an EXCEPTION effect?. 나는 내가하는 일을 다르게 보지 못한다.
유형을 볼 수 있습니다 ErrorEvent과 Error은 다릅니다. 또한 catchException은 Error
을 예상하므로 컴파일 오류가 발생합니다. 나는 내가 뭘 잘못하고 있는지, 어떻게 고쳐야 하는지를 보지 못합니다.
사용 :
- "purescript-예외" "^ 2.0.0"
- "purescript-DOM" "^ 3.6.0",