#include <objc/objc-exception.h>

objc/objc-exception.h

10 functions · 4 typedefs

typedefobjc_exception_preprocessor

typedef id _Nonnull (*objc_exception_preprocessor)(id _Nonnull exception)

typedefobjc_exception_matcher

typedef int (*)(Class _Nonnull, id _Nonnull) objc_exception_matcher;

typedefobjc_uncaught_exception_handler

typedef void (*objc_uncaught_exception_handler)(id _Null_unspecified /* _Nonnull */ exception)

typedefobjc_exception_handler

typedef void (*)(id _Nullable, void * _Nullable) objc_exception_handler;

functionobjc_exception_throw

OBJC_AVAILABLE(10.5, 2.0, 9.0, 1.0, 2.0)
OBJC_EXPORT OBJC_NORETURN void objc_exception_throw(id _Nonnull exception)
Throw a runtime exception. This function is inserted by the compiler where \c @throw would otherwise be. @param exception The exception to be thrown.

functionobjc_exception_rethrow

OBJC_AVAILABLE(10.5, 2.0, 9.0, 1.0, 2.0)
OBJC_EXPORT OBJC_NORETURN void objc_exception_rethrow(void)

functionobjc_begin_catch

OBJC_AVAILABLE(10.5, 2.0, 9.0, 1.0, 2.0)
OBJC_EXPORT id _Nonnull objc_begin_catch(void * _Nonnull exc_buf)

functionobjc_end_catch

OBJC_AVAILABLE(10.5, 2.0, 9.0, 1.0, 2.0)
OBJC_EXPORT void objc_end_catch(void)

functionobjc_terminate

OBJC_AVAILABLE(10.8, 6.0, 9.0, 1.0, 2.0)
OBJC_EXPORT OBJC_NORETURN void objc_terminate(void)

functionobjc_setExceptionPreprocessor

OBJC_AVAILABLE(10.5, 2.0, 9.0, 1.0, 2.0)
OBJC_EXPORT objc_exception_preprocessor _Nonnull objc_setExceptionPreprocessor(
	objc_exception_preprocessor _Nonnull fn
)

functionobjc_setExceptionMatcher

OBJC_AVAILABLE(10.5, 2.0, 9.0, 1.0, 2.0)
OBJC_EXPORT objc_exception_matcher _Nonnull objc_setExceptionMatcher(
	objc_exception_matcher _Nonnull fn
)

functionobjc_setUncaughtExceptionHandler

OBJC_AVAILABLE(10.5, 2.0, 9.0, 1.0, 2.0)
OBJC_EXPORT objc_uncaught_exception_handler _Nonnull objc_setUncaughtExceptionHandler(
	objc_uncaught_exception_handler _Nonnull fn
)

functionobjc_addExceptionHandler

OBJC_OSX_AVAILABLE_OTHERS_UNAVAILABLE(10.5)
OBJC_EXPORT uintptr_t objc_addExceptionHandler(
	objc_exception_handler _Nonnull fn,
	void * _Nullable context
)
Not for iOS.

functionobjc_removeExceptionHandler

OBJC_OSX_AVAILABLE_OTHERS_UNAVAILABLE(10.5)
OBJC_EXPORT void objc_removeExceptionHandler(uintptr_t token)