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

版权声明:转载注明来源。Keep Learning and Coding. https://blog.csdn.net/a771581211/article/details/88647682
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("程序结束了");

	}

}

猜你喜欢

转载自blog.csdn.net/a771581211/article/details/88647682
今日推荐