On Wednesday, 13 June 2018 at 00:38:55 UTC, Jonathan M Davis wrote:
It's possible to write programs that check and handle running out of memory, but most programs don't, and usually, if a program runs out of memory, it can't do anything about it and can't function properly at that point.

Simulations that run out of memory are likely unable to recover from OutOfMemoryError. Transactional programs like webservers are likely to run out of memory due to an unusually large request.

The idea is that it's a bug in your code if you ever index an array with an index that's out-of-bounds. If there's any risk of indexing incorrectly, then the program needs to check for it, or it's a bug in the program. Most indices are not taken from program input, so treating them as input in the general case wouldn't really make sense

The case I find is almost invariably a hard-coded index into input data, like a CSV file that is supposed to have ten columns but only has eight.

This is often a bug in my program simply because most exceptions I encounter are bugs in my program.

- plus, of course, treating them as program input in the general case would mean using Exceptions, which would then kill nothrow.

Which goes back to my point of problems that could be caused by too wide a range of code being Errors.

Reply via email to