Exception handling
Groovy lets the programmer decide to catch the exception or not. In the following example, the developer tries to open and read the contents of a file. He does not need to surround the method with a try and catch block, when he knows that the file exists. Groovy gives the programmer control over the exceptions, so he chooses to throw one but he does not need to. Java would not compile the code because it expects a try and catch block that throws the exception FileNotFoundException
//Checked and Unchecked exceptions def reader=new FileReader("test.txt") println "Key is : "+reader.getText() try{ readerIn=new FileReader("testNo.txt") println "key is: " +readerIn.getText() } catch(FileNotFoundException e){ println "Could not find the file" }
The example above shows two ways of opening a fle: With and without a try and catch block. When the developers know that a file exists – As shown in the first example above – he doesn’t need to surround it with a try and catch. Like stated earlier, the developer can choose whether he wants to catch the exception or not – This happens in the second example above. Sometimes, code needs to catch more than one exception. Groovy allows the developer to catch all
exceptions in one catch, instead of writing a catch statement for each try
try{ oepnFile("test.txt") URL newUrl=new URL("http://wordpress.com/"); InputStream str=newUrl.openStream(); } catch(ex){ printls "Error: "+ex }
Note that the code above only throws one exception: The function openFile does not exist so it directly throws an exception. If it existed, another exception would be thrown since the URL is formatted wrong. The catch would show the exception: This is the same catch as the one from open File
Testing
Testing in Groovy is, like testing in Java, very extensive. A common way to test a application is with JUnit testing. The name for JUnit in Groovy is GUnit. Codehaus and IBM have written articles about unit testing in Groovy. Documentation on their findings can be found on the following websites:
- Codehaus’s testing guide: http://groovy.codehaus.org/Testing+Guide
- IBM’s fndings: http://www.ibm.com/developerworks/java/library/j-pg11094/
Because the subject GUnit doesn’t support our main question, this will not be fully described. Basically, it is the same as JUnit testing.
Database Integration
Groovy provides the user with a wrapper around the standard Java classes, adding more functionality and ease of use when working with databases. It is important to understand that Groovy currently doesn’t replace all of Java’s original databases connectivity, as the JDBC is still in use.
thank you so much for this post.
nice.