gpt4 book ai didi

Haskell - 退出带有指定错误代码的程序

转载 作者:行者123 更新时间:2023-12-02 10:10:51 27 4
gpt4 key购买 nike

在Haskell中,有没有办法以指定的错误代码退出程序?我阅读的资源通常指向 error 函数,用于退出出现错误的程序,但它似乎总是以错误代码 1 终止程序。

[martin@localhost Haskell]$ cat error.hs
main = do
error "My English language error message"
[martin@localhost Haskell]$ ghc error.hs
[1 of 1] Compiling Main ( error.hs, error.o )
Linking error ...
[martin@localhost Haskell]$ ./error
error: My English language error message
[martin@localhost Haskell]$ echo $?
1

最佳答案

使用exitWith来自System.Exit :

main = exitWith (ExitFailure 2)

为了方便起见,我会添加一些助手:

exitWithErrorMessage :: String -> ExitCode -> IO a
exitWithErrorMessage str e = hPutStrLn stderr str >> exitWith e

exitResourceMissing :: IO a
exitResourceMissing = exitWithErrorMessage "Resource missing" (ExitFailure 2)

关于Haskell - 退出带有指定错误代码的程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44604701/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com