java - Return type with try-catch-finally -


this question has answer here:

i have tried following code snippet:

private integer getnumber() {     integer = null;     try {         = new integer(5);         return i;     } catch(exception e) {         return 0;     } {         = new integer(7);     } } 

this method returns 5 , not 7.

why returns 5 , not 7?

thanks in advance.

this happens because finally block of try..catch..finally runs after code within try..catch has completed (be or not); in case of code when return i has occured.

because of behaviour value of i has been placed return variable of method before assign new value of 7 it. following work:

private integer getnumber(){   integer = null;   try {     = new integer(5);   }   catch(exception e){     = new integer(0);   }   finally{     = new integer(7);   }   return i; } 

Comments

Popular posts from this blog

css - Which browser returns the correct result for getBoundingClientRect of an SVG element? -

gcc - Calling fftR4() in c from assembly -

.htaccess - Matching full URL in RewriteCond -