[Nitro] Question about error handling in *Store
surrender_it at yahoo.it
Wed Apr 26 15:49:19 EDT 2006
I notice that all the Og::Store subclasses are defined in files with an
header similar to
rescue Object => ex
Logger.error 'Ruby-Sqlite bindings are not installed!'
There are two things I found strange in this, first, it seems excessive
to hide all possible exceptions by rescueing Object, I think that
LoadError would be a better fit; second, I 'm not sure I undesrtand why
the problem is just logged instead of letting the application crash,
because in most cases there will be a crash whenever something is done
that is store related, by referencing a a nil object.
It seem to me that this is a bad thing and that a crash-early approach
would be better and allow faster diagnostics, but maybe there is
something I have overlooked.
Someone who would like to still use the application withouth having a
real reference to a Store could just create an empty foo.rb in src/ and
go on anyway.
More information about the Nitro-general