Platforms to show: All Mac Windows Linux Cross-Platform

The module CallDelegateCrashSafeMBS   New in 23.0

module CallDelegateCrashSafeMBS
Type Topic Plugin Version macOS Windows Linux iOS Targets
module Process MBS Util Plugin 23.0 ✅ Yes ✅ Yes ✅ Yes ✅ Yes All
Function: The module to call a delegate and catch a crash.
Example:

Try

System.DebugLog "Try the call..."

CallDelegateCrashSafeMBS AddressOf TestMethod

System.DebugLog "Call succeeded!"

Catch c As DelegateCrashExceptionMBS

System.DebugLog "Caught exception!"
System.DebugLog c.Message

End Try
Notes:
We can catch the following conditions:
  • Invalid pointer access
  • Invalid instruction
  • Floating point exception
  • Wrong system call
  • Broken pipe
  • Bus error

We may crash ourselves on stack corruption and we print the stack trace to stderr for macOS and Linux for debugging.

If a crash is caught, there may be memory leaked as objects allocated in the called method are not freed. The call function can not be used recursively and only on one thread at the time.

Some examples which use this module:

Blog Entries


The items on this page are in the following plugins: MBS Util Plugin.


💬 Ask a question or report a problem
The biggest plugin in space...


Start Chat