I am trying to convince myself that actions taken in the finally clause happen before the function return (in the memory consistency sense). From the J
finally
The call to queryDatabase() happens first. Then the finally block. Then control leaves the function (that's the return).
queryDatabase()
return