In Groovy we can omit the return keyword at the end of a method, it is optional. It is no problem to leave it in, but we can leave it out without any problems. Since Groovy 1.6 this is even true when the last statement of a method is a conditional statement or a try-catch block.
def simple() {
"Hello world"
}
assert 'Hello world' == simple()
def doIt(b) {
if (b) {
"You are true"
} else {
"You are false"
}
}
assert 'You are true' == doIt(true)
assert 'You are false' == doIt(false)
def tryIt(file) {
try {
new File(file).text
} catch (e) {
"Received exception: ${e.message}"
} finally {
println 'Finally is executed but nothing is returned.'
'Finally reached'
}
}
assert 'Received exception: invalidfilename (The system cannot find the file specified)' == tryIt('invalidfilename')
// Create new file with the name test.
def newFile = new FileWriter('test').withWriter { it.write('file contents') }
assert 'file contents' == tryIt('test')