#2508: exception handling: exitWith ExitSuccess results in abnormal termination
with Control.OldException
-----------------------+----------------------------------------------------
Reporter: int-e | Owner:
Type: bug | Status: new
Priority: normal | Component: libraries/base
Version: 6.9 | Severity: normal
Keywords: | Testcase:
Architecture: x86 | Os: Linux
-----------------------+----------------------------------------------------
Consider this program.
{{{
import System.Exit
import Control.OldException
main = exitWith ExitSuccess `finally` return ()
}}}
It should not produce any output and return 0 as its exit code. Instead we
get:
{{{
# runhaskell test.hs
exit: ExitSuccess
# echo $?
1
}}}
The problem is that {{{finally}}} catches the exception and rethrows it.
In the process, the {{{OldException}}} module maps exceptions to ''old''
exceptions, but never maps them back when they're thrown.
--
Ticket URL: <http://hackage.haskell.org/trac/ghc/ticket/2508>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler_______________________________________________
Glasgow-haskell-bugs mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs