How to know about OutOfMemory or StackOverflow errors ahead of time
In Java, is there a way to know that a
StackOverflow error or
OutOfMemory exception may happen soon?
OutOfMemory exception might be an easier one to catch, if one is capable of getting memory usage statistics programmatically, and if one knows ahead of time how much memory needs to be used before the
OutOfMemory exception is thrown. But are those values knowable?
StackOverflow error, is there a way to get recursion depth, and how does one know what value for recursion depth would cause the error to occur?
By knowing ahead of time whether these errors will happen, I feel I can recover the application more gracefully, instead of watching it crash.