java异常处理机制

java异常处理机制

public static void main(String[] args) {
		System.out.println("程序开始了");
		
		try{
			String str="a";
		/*
		 * 当jvm执行代码时遇到异常时,会实例化该异常的一个实例,
		 * 然后设置好代码执行的过程,并将该异常抛出
		 * 如果抛出异常的代码所在方法没有处理异常的能力,异常会抛到当前方法之外
		 * 由调用当前方法的代码片段去处理
		 */
		System.out.println(str.length());
		System.out.println(str.charAt(0));
		System.out.println(Integer.parseInt(str));
		/*
		 * try代码片段中出错的代码之后的内容都不会被执行
		 */
		System.out.println("!!!!");
		}catch(NullPointerException e){
			System.out.println("出现了空指针!");
			/*
			 * catch可以定义多个,针对不同的异常有不同
			 * 处理手段,可别分别捕获这些异常
			 */
		}catch(StringIndexOutOfBoundsException e){
			System.out.println("字符串下标越界了");
		
		/*
		 * 应当有一个好习惯,在最后一个catch中捕获Exception,尽量避免
		 * 因为一个为捕获的一场导致程序中断
		 * 捕获顺序应当是子类型异常上面先捕获,父类型异常在下后捕获
		 */
		}catch(Exception e){
		System.out.println("反正就是出了个错");}
	}

你可能感兴趣的:(IT工作者)