elixir try rescue

Elixir Try Rescue

In Elixir, the try and rescue keywords are used to handle exceptions and errors in a controlled manner. The try block is used to enclose the code that might raise an exception, while the rescue block is used to handle the exception and provide an alternative flow of execution.

Here's an example of how to use try and rescue in Elixir:

try do
  # Code that might raise an exception
  raise "Oops, something went wrong!"
rescue
  exception -> 
    # Handle the exception here
    IO.puts "An exception occurred: #{exception.message}"
end

In the example above, the raise function is used to intentionally raise an exception. The rescue block catches the exception and executes the code inside it. In this case, it simply prints a message indicating that an exception occurred.

You can also specify the type of exception to rescue by using the rescue clause followed by the exception type. For example:

try do
  # Code that might raise an exception
  raise ArgumentError, "Invalid argument"
rescue
  ArgumentError -> 
    # Handle ArgumentError here
    IO.puts "Invalid argument error occurred"
  exception -> 
    # Handle other exceptions here
    IO.puts "An exception occurred: #{exception.message}"
end

In the example above, the rescue block is divided into two parts. The first part handles ArgumentError specifically, while the second part handles any other type of exception.

Please note that the examples provided are for illustrative purposes and may not cover all possible use cases. It's important to consider the specific requirements of your code when using try and rescue in Elixir.