I don’t think out of memory can get caught by the application itself. I might be wrong but I suspect it’s one of those special cases that the OS is the one catching it and not the application. And I have no idea if that changes with 64 bit support.
This is one of those requests I keep getting about automated interfaces expected to be left running for long periods
‘if the application fails, it should write into a log file to explain why’
Which is bonkers when you think about it.
"After you die, please call this number and tell us to come pick up the body’
If an app isnt running at all, or dies due to an unexpected/untrappable thing like out of memory or a power cut, nothing is going to issue a message to explain what happened.
When it gets critical and 24/7 uptime, I prefer having a helper app next to the program to keep an eye on it. This helper-app can also check OS- and environmental info.