./devel/hs-enclosed-exceptions, Catching all exceptions from within an enclosed computation

[ CVSweb ] [ Homepage ] [ RSS ] [ Required by ] [ Add to tracker ]


Branch: CURRENT, Version: 1.0.3nb3, Package name: hs-enclosed-exceptions-1.0.3nb3, Maintainer: pkgsrc-users

The purpose of this module is to allow you to capture all exceptions
originating from within the enclosed computation, while still reacting to
asynchronous exceptions aimed at the calling thread.

This way, you can be sure that the function that calls, for example,
catchAny, will still respond to ThreadKilled or Timeout events raised by
another thread (with throwTo), while capturing all exceptions, synchronous
or asynchronous, resulting from the execution of the enclosed computation.

One particular use case is to allow the safe execution of code from various
libraries (which you do not control), capturing any faults that might
occur, while remaining responsive to higher level events and control
actions.


Master sites:

Filesize: 5.613 KB

Version history: (Expand)


CVS history: (Expand)


   2023-11-02 07:37:49 by Masatake Daimon | Files touched by this commit (1141)
Log message:
Revbump all Haskell after updating lang/ghc96
   2023-10-30 07:37:55 by Masatake Daimon | Files touched by this commit (1)
Log message:
devel/hs-enclosed-exceptions: Fix build with GHC 9.6
   2023-10-09 06:55:01 by Masatake Daimon | Files touched by this commit (988)
Log message:
Bump Haskell packages after updating lang/ghc94
   2022-02-26 13:28:47 by Masatake Daimon | Files touched by this commit (5)
Log message:
devel/hs-enclosed-exceptions: import hs-enclosed-exceptions-1.0.3

The purpose of this module is to allow you to capture all exceptions
originating from within the enclosed computation, while still reacting to
asynchronous exceptions aimed at the calling thread.

This way, you can be sure that the function that calls, for example,
catchAny, will still respond to ThreadKilled or Timeout events raised by
another thread (with throwTo), while capturing all exceptions, synchronous
or asynchronous, resulting from the execution of the enclosed computation.

One particular use case is to allow the safe execution of code from various
libraries (which you do not control), capturing any faults that might
occur, while remaining responsive to higher level events and control
actions.