W3cubDocs

/Haskell 9

GHC.Weak.Finalize

Safe Haskell None
Language Haskell2010

Handling exceptions

When an exception is thrown by a finalizer called by the garbage collector, GHC calls a global handler which can be set with setFinalizerExceptionHandler. Note that any exceptions thrown by this handler will be ignored.

setFinalizerExceptionHandler :: (SomeException -> IO ()) -> IO () Source

Set the global action called to report exceptions thrown by weak pointer finalizers to the user.

Since: base-4.18.0.0

getFinalizerExceptionHandler :: IO (SomeException -> IO ()) Source

Get the global action called to report exceptions thrown by weak pointer finalizers to the user.

Since: base-4.18.0.0

printToHandleFinalizerExceptionHandler :: Handle -> SomeException -> IO () Source

An exception handler for Handle finalization that prints the error to the given Handle, but doesn't rethrow it.

Since: base-4.18.0.0

Internal

runFinalizerBatch :: Int -> Array# (State# RealWorld -> State# RealWorld) -> IO () Source

Run a batch of finalizers from the garbage collector. We're given an array of finalizers and the length of the array, and we just call each one in turn.

© The University of Glasgow and others
Licensed under a BSD-style license (see top of the page).
https://downloads.haskell.org/~ghc/9.12.1/docs/libraries/base-4.21.0.0-8e62/GHC-Weak-Finalize.html