Finally *always* runs. Else runs *only if* there are no exceptions. On Oct 1, 2015 12:08 AM, "Jochen Theodorou" <blackd...@gmx.org> wrote:
> Am 28.09.2015 19:44, schrieb Edinson E. Padrón Urdaneta: > >> >What behaviour do you expect of the else block if an exception exception >> >>> in the try block is thrown, which is not catched and if a finally block >>> is present? Example: >>> >>> try { >>>> m1() //throws MyException >>>> } catch (SomeExceptionThatWillNotBeThrown e) { >>>> } else { >>>> m2() >>>> } finally { >>>> m3() >>>> } >>>> >>> >>> So is this supposed to do m1();m3() then? In other words apiece of code >>> executed only if he try block throws no exception at all? >>> >> >> Hi, Jochen. That's right, /m2()/ would not be executed because the >> exception threw wasn't catch and the normal java/groovy behavior of >> executing /m3()/ and passing the exception threw inside the try block to >> the 'next higger context' would happen. >> > > > sorry, didn't see the answer for some reason... how does it differ from > > try { > m1() // throws MyException > m2() > } catch (SomeExceptionThatWillNotBeThrown e) { > } finally { > m3() > } > > bye blackdrag > > -- > Jochen "blackdrag" Theodorou > blog: http://blackdragsview.blogspot.com/ > >