When you need to raise an exception, you can use one of the built-in
Exception classes, or you can create one of your own. If you create your
own, you might want to make it a subclass of StandardError or one of its
children. If you don’t, your exception won’t be caught by default.
My question is why doesn’t it handle the most generalized class,
Exception, by default? What’s the logic behind this?