Show List

Exception handling in Groovy

Exception handling is an important part of any programming language, and Groovy provides a powerful and flexible mechanism for handling exceptions.

In Groovy, exceptions are handled using try-catch blocks. The try block contains the code that might throw an exception, and the catch block contains the code that will handle the exception. For example:

php
Copy code
try { int x = 10 / 0 } catch (ArithmeticException e) { println "An arithmetic exception occurred: $e" }

In this example, the try block attempts to divide 10 by 0, which will result in an ArithmeticException. The catch block catches the exception and prints a message indicating that an arithmetic exception occurred.

It is also possible to use multiple catch blocks to handle different types of exceptions:

php
Copy code
try { int x = Integer.parseInt("foo") } catch (NumberFormatException e) { println "A number format exception occurred: $e" } catch (Exception e) { println "An unknown exception occurred: $e" }

In this example, the try block attempts to parse the string "foo" into an integer, which will result in a NumberFormatException. The first catch block catches this specific exception and prints a message indicating that a number format exception occurred. The second catch block catches any other exception and prints a message indicating that an unknown exception occurred.

Finally, it is possible to use the finally block to specify code that should be executed regardless of whether an exception occurs or not:

php
Copy code
try { int x = Integer.parseInt("foo") } catch (NumberFormatException e) { println "A number format exception occurred: $e" } finally { println "This code will always be executed." }

In this example, the finally block will always be executed, whether an exception occurs or not.

These are the basic building blocks of exception handling in Groovy. With these tools, you can write robust and reliable code that can handle and recover from exceptions in a controlled and predictable way.


    Leave a Comment


  • captcha text