On 8/27/2014 2:39 PM, Vladimir Panteleev wrote:
On Monday, 25 August 2014 at 03:19:09 UTC, Mike Parker wrote:
I use Exception for recoverable errors and Error for those that aren't.

Sorry, you're right, that description of Exception/Error is correct. But
I don't think that SDL initialization is a non-recoverable error. The
program might want to retry SDL initialization with different
parameters, and if that code would make it into a library, said library
might try using a different graphics library or use some other form of
user interaction.

It is entirely reasonable for someone to decide that failure to init SDL is an unrecoverable error, while failure to create a window is not, or that both are or neither is. I don't see that any one of the these approaches is set in stone, or that it even need be the same from project to project.

The way I structure my code in the little rinky-dink projects scattered about my hard drive, any failure in initializing required systems (like graphics) is an Error, whereas init failure for noncritical systems (like audio) is an Exception. The former I let filter to a top-level handler where I log them and exit, the latter I catch and respond where appropriate. I would very likely take a different approach were I developing a library for public consumption so that the user can decide.

---
This email is free from viruses and malware because avast! Antivirus protection 
is active.
http://www.avast.com

Reply via email to