In ruby like in most languages an exception is a way to convey that something went wrong.
Ruby raise exception in rescue.
In this article you ll learn how to use the rescue keyword in combination with begin to handle ruby exceptions the most effective way.
Ruby does require some form of begin to appear before the rescue.
In ruby we have a way to deal with these cases that is raise statement.
Although libraries can define their own exception subclasses the list of built in exception subclasses on ruby 2 5 looks like this.
We enclose the code that could raise an exception in a begin end block and use rescue clauses to tell ruby the types of exceptions we want to handle.
Ruby provide a nice mechanism to handle exceptions.
In a nutshell every custom ruby exception should extend standarderror rather than the exception class the reason for this is outlined in exception handling in ruby with this in mind the simplest custom exception class that we can define will look something like this.
The exception hierarchy ruby s exception hierarchy is used to differentiate between different types of errors while giving you the ability to rescue from a group of errors without specifying all of them.
Raise is a keyword in ruby which allows us to raise any exception if it found raise will throw an exception and that exception will be caught inside the rescue statement.
What if you re building a user system and want to raise an exception when the user tries to access an off limits part of the site.
Become a better developer.
The begin is omitted and the entire body of the method is subject to exception handling ending.
Ruby s built in exceptions are great but they don t cover every possible use case.
In this article we will look at.
None of ruby s standard exceptions fit so your best bet is to create a new kind of exception.
It is to be noted that the body of a method definition is an implicit begin end block.
Ruby s exception handling mechanism is simple.
To do exception handling we enclose the code that could raise an exception in a begin end block and use one or more rescue clauses to tell ruby the types of exceptions we want to handle.
It places the keyword rescue after any code that would probably throw an exception.