Java中带有示例的嵌套try-catch块

在Java中,我们可以嵌套try和catch块。这意味着,一个try语句可以位于另一个try的块内。如果内部try块没有针对特定异常的validate catch语句,则控制将移至匹配的catch语句所期望的下一个try语句catch处理程序。这将继续进行,直到其中一个catch语句成功执行或完成所有嵌套的try语句为止。如果没有任何catch语句匹配,则Java运行时系统将处理该异常。

嵌套try-catch块的语法如下:

try{
	try{
		//...-
	}
	catch (Exception1 e){
		//处理异常的语句
	}
}
catch (Exception 2 e2){
	//处理异常的语句
}

考虑一下程序:

import java.io.*;

class Nested_Try
{
	public static void main(String args[])
	{
		try{ 
			DataInputStream X=new DataInputStream(System.in);
			System.out.print("Enter First No:");
			int a = Integer.parseInt (X.readLine());
			System.out.print("Enter Second No:");
			int b = Integer.parseInt (X.readLine());
			int quot = 0;
			try{
				quot = a/b;
				System.out.println(quot);
			}
			catch (ArithmeticException e){
				System.out.println("divide by zero");
			}
		}
		catch (NumberFormatException e){
			System.out.println ("Incorrect Input");
		}
		catch (IOException e){
			System.out.println ("IO Error");
		} 
	}
}