Java面向对象:捕获异常代码

package exception;

import java.util.Scanner;

public class Demo {
	public static void main(String[] args) {
		
//		测试异常处理机制
//		异常的处理机制分为抛出异常和捕获异常。
//		捕获异常: try , catch , finally
//		抛出异常:throw, throws 
		
		try {
			
//			可能产生的异常的代码区,也成为监控区
//			try块中放可能发生异常的代码。
//			如果执行完try且不发生异常,则不会执行catch内的内容,跳过catch,继续向下执行
//			如果发生异常,则尝试去匹配catch块。

//			一旦程序出现异常,后面的代码都不会执行
			Scanner sc = new Scanner(System.in);
			System.out.println("请输入课程代号(1~3之间的数字)");
			int numb = sc.nextInt();
//			请输入课程代号(1~3之间的数字)
//			d
//			java.util.InputMismatchException
//			输入数值错误
//			欢迎提出建议
//			over
			
			if (numb == 1 ) {
				System.out.println("C语言");
			}else if (numb == 2 ) {
				System.out.println("Java语言");
			}else if (numb == 3 ) {
				System.out.println("Python语言");
			}else {
				System.out.println("超出范围");
			}
			
		} catch (Exception e) {
			
//			捕获并处理try抛出异常类型为Exception的异常
//			每一个catch块用于捕获并处理一个特定的异常,或者这异常类型的子类。Java7中可以将多个异常声明在一个catch中。
//			catch后面的括号定义了异常类型和异常参数。如果异常与之匹配且是最先匹配到的,则虚拟机将使用这个catch块来处理异常,执行catch块里面的代码。
//			在catch块中可以使用这个块的异常参数来获取异常的相关信息。异常参数是这个catch块中的局部变量,其它块不能访问。
//			如果try中没有发生异常,则所有的catch块将被忽略。继续向下执行
//			如果try有异常,当发生异常后,try中异常后面的代码不会被执行。
//			如果catch中的异常与之匹配,则会执行catch代码块,并且继续向下执行
//			如果catch中没有与报错信息匹配的异常,此时程序报错,程序停止

//			e.printStackTrace():打印报警信息
			e.printStackTrace();
			System.out.println("输入数值错误");
		}finally{
			System.out.println("欢迎提出建议");
		}

		System.out.println("over");
	}
	
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值