When making one's own custom exceptions like
class ThingExploded < StandardError; end
class ThingIsMissing < StandardError; end
Where is a good place to keep these? I was considering lib/exceptions.rb… and also pondering if it would be more appropriate to somehow put them closer to the code that uses them.
I would probably go with lib/exceptions/thing_exploded.rb to keep each class in a separate file.
Unless your exceptions are so severe they shouldn't be rescued from, subclassing them from Exception
isn't appropriate.
Exceptions such as fatal
and NoMemoryError
are subclasses of Exception, so if you had code such as rescue Exception
to handle ThingExploded
and ThingIsMissing
, you'd be rescuing all kinds of stuff that are best left alone.
It's better to subclass them from StandardError
instead.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With