Ruby Error Handling

New msg nil exception click to toggle source.
Ruby error handling. Ruby exceptions and error handling is not the most remarkable feature of the ruby language. Here error means an unwanted or unexpected event which occurs during the execution of a program i e. In ruby exception handling is a process which describes a way to handle the error raised in a program. Class mycustomexception standarderror end.
Two ruby statements have default exception classes. Construct a new exception object optionally passing in a message. Exceptions are special types of objects in ruby that allow you to handle errors in your code. Infact the way ruby deals with exceptions is strikingly similar to other languages such as java etc.
After reading 2 or 3 articles on the basics of ruby exception handling you re bound to see the advice on never rescuing exception. You get a chance to handle recover from the error. 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. Handling an exception 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.
So these types of errors were handled by the rescue block. The rescue block in ruby is very powerful. At a minimum you can provide a graceful shutdown and reporting of problems in your code. Ruby provide a nice mechanism to handle exceptions.
Use ruby s built in tools to handle errors and exceptions and even write your own custom exceptions. So exceptions are used to handle various type of errors which may occur during a program execution and take appropriate action instead of halting program completely. Use ruby s built in tools to handle errors and exceptions and even write your own custom exceptions. We call this exception handling.
Ruby gives you a few keywords to implement error recovery in your code. These keywords are begin rescue. It s vastly easier to use than error codes. At run time that disrupts the normal flow of the program s instructions.
With this in mind the simplest custom exception class that we can define will look something like this.