It is strongly advised that we should not do:
rescue Exception
but instead use at least:
rescue StandardError
because otherwise, we might also catch (for instance) signals which are intended to (legally) terminate our program.
But how about
...
rescue Exception => e
begin # Just in case I get another exception when writing the log
mylogfile.puts("Exception #{e} occured")
rescue Exception
end
raise e
end
...
Should this also considered dangerous? After all, I'm re-raising the same exception, plus I have some evidence of what has happened, in my log.