使用try和catch捕获异常

一、格式

try{

//代码段(可能发生异常的代码)

}catch(对异常进行处理的代码段)

//代码段

public class TryDemo {
	public static void main(String[] args){
		int number = 0;
		try{
			number = Integer.parseInt(args[0]);
			//如果存在异常,下面这一行代码是不会输出的
			System.out.println("看得见吗?");
		}catch(Exception e){
			System.out.println("非法的数字");
		};
		System.out.println("你输入的数字为:"+number);
	}
}
在菜单栏中选择Run-Configurations命令,在弹出的Run对话框中选择Arguments标签,在Program arguments文本框中输入"输入Hello",然后单击Run按钮,输出“非法的数字,你输入的数字为:0”

二、多生catch

/***********多重try catch处理异常**********************/
import java.util.InputMismatchException;
import java.util.Scanner;
public class more{
		public static void main(String[] args){
			Scanner in = new Scanner(System.in);
			try{
				System.out.print("请输入第一学期的总学时:");
				int totalTime = in.nextInt();//总学时
				System.out.print("请输入第一学期的课程数目");
				int totalCourse = in.nextInt();//课程数目
				System.out.print("第一学期各课程的平均学时为:"+totalTime/totalCourse);
			}catch(InputMismatchException e1){
				System.out.print("输入不为数字");
			}catch(ArithmeticException e2){
				System.out.print("讲程数目不能为零!");
			}
			catch(Exception e){
				System.out.println("发生错误:"+e.getMessage());
			}
			System.out.println("我是catch后面的代码");
		}
}

在安排catch语句的顺序时,首先应该捕获子类异常,然后再捕获父类异常。如果弄反了,后面捕获异常的代码将无法被调用。如果异常是同级亲系,则无所谓个置前,哪个置后。


你可能感兴趣的:(Java)