Error handling – the best practices
Though the previous guide walked through basic error handling that works in practice, there is always room for improvement. In this guide, you are going to learn better error handling techniques in Ruby.
Sometimes, we may not want to rescue every error because we may actually be doing something wrong, such as entering bad data into the database. In such cases, we are better off rescuing only specific errors. For example, let's say you want 8/0
to proceed, but only want it to be logged, so the system knows something like this happened.
To catch the error properly let's include our begin
and rescue
blocks, but this time, specify the error that needs to be rescued:
begin puts 8/0 rescue ZeroDivisionError => e puts "Error occurred: #{e}" end
In this code, we are moving the description associated with ZeroDivisionError
to the e
variable and printing it out like a normal variable.
If you execute this code, the output will be Error occurred: divided by...