java - how does rethrow exception terminate by outer catch? -


enter code here   `class rethrow    {     public static void genexception()    {         int n[]={4,8,16,32,64,128};         int d[]={2,0,8,0,4};          for(int i=0;i<n.length;i++)         {                                                  try{                 system.out.println("n/d is:"+n[i]/d[i]);                 }             catch(arithmeticexception exc)               {                 system.out.println("cant divide zero");                 throw exc;               }             catch(arrayindexoutofboundsexception exc)              {                 system.out.println("no match element found ");                 // rethrow exception              }         }     } }  class rethrowdemo {     public static void main(string args[])     {         try          {             rethrow.genexception();         }         catch(arithmeticexception exc)  // catch rethrow exception         {             // recatch exception             system.out.println("fatal error "+"program termiated.");         }     } } 

this output of program

question 1::why catch of "rethrowdemo" class terminate exception thrown catch(arithmetic exception) of "rethrow" class.

question 2:: how transfer of control working ??

in java, when event occurs disrupts normal flow of application exception object created , passed call stack either dealt caller or passed further dealt with/handled else higher in hierarchy.

due fact can't divide 0 arithmeticexception thrown line system.out.println("n/d is:"+n[i]/d[i]); , since you're doing within try...catch block, catch(arithmeticexception exc) says "if there arithmeticexception thrown within try i'm here deal it".

it in catch block printing out cant divide zero , re-throwing original exception. bubbles calling method, in case main method since making call within try...catch(arithmeticexception exc) catch in main says "i deal arithmeticexception have re-thrown". @ point print fatal error program termiated , application ends.

there plenty of tutorials explain how exceptions work in java useful take @ few.

a tutorial on exceptions

another tutorial on exceptions


Comments

Popular posts from this blog

java - Suppress Jboss version details from HTTP error response -

gridview - Yii2 DataPorivider $totalSum for a column -

Sass watch command compiles .scss files before full sftp upload -