Java异常捕获机制中的try-catch

package day08;
/**
 * Java异常捕获机制中的try-catch
 * try{}块是用来扩上可能出错的代码片段
 * catch{}块则是用来捕获try{}块中代码抛出的错误并解决。
 * @author kaixu
 *
 */
public class ExceptionDemo1 {

	public static void main(String[] args) {
		System.out.println("程序开始了");
		
		try{
		String str = null;
		str = " ";
		str = "a";
		/*
		 * JVM在执行代码的过程中若发现了一个异常,则会实例化这种情况的异常示例
		 * 并将代码整个执行过程完整设置到异常中来表示该错误报告,设置完毕后将该
		 * 异常抛出。若抛出异常的这句代码有被try包围,则JVM会检查catch中
		 * 是否有关注该异常。关注则交给catch并解决,否则会将异常抛出到当前
		 * 方法外,由调用当前方法的代码解决该异常。
		 */
		System.out.println(str.length());  //java.lang.NullPointerException
		System.out.println(str.charAt(0));    //java.lang.StringIndexOutOfBoundsException
		System.out.println(Integer.parseInt(str));  // java.lang.NumberFormatException
		}catch(NullPointerException e){
			System.out.println("出现空指针");
		}catch (StringIndexOutOfBoundsException e) {
			System.out.println("出现字符串下标越界");
		/*
		 * 应当养成一个好习惯,在最后一个catch中捕获Exception.
		 * 避免因未捕获异常导致程序中断。
		 * 
		 * 当多个cacth捕获不同异常时,这些异常间存在继承关系
		 * 那么子类异常要在上先行捕获,父类异常在下后续捕获。
		 */
		
		}catch (Exception e) {
			System.out.println("出现未知错误,非战斗人员请立即撤离。");
		}
		System.out.println("程序结束了");

	}

}

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值