捕获处理异常vs抛出异常

捕获异常,可以由程序员自行对出现的异常进行处理
抛出异常,程序运行过程中产生的异常递交给虚拟机,由虚拟机进行处理,异常的处理程序员无法干预
 
捕获处理异常案例:
package hh;

public class JavaThrows {
	public void calc(byte k)throws Exception{//抛出异常
		byte y=1,i=1;
		System.out.print(k+"!=");
		//求整数的阶乘,一旦计算后的数值大于某个值,则认为“溢出”
		for(i=1;i<=k;i++) {
			if(i*y>Byte.MAX_VALUE)
				throw new Exception(" 溢出");
			else
				y=(byte)(y*i);
		}
		System.out.println(y);
	}
	public void run(byte k) {//捕获并处理异常
		try {
			calc(k);
		}
		catch(Exception e) {
			System.out.println("异常:"+e.getMessage());
			e.printStackTrace();
			System.exit(0);
		}
	}
	public static void main(String args[]) {
		JavaThrows a=new JavaThrows();
		for(byte i=1;i<10;i++)
			a.run(i);
	}

}
运行截图如下:



猜你喜欢

转载自blog.csdn.net/qq_36616692/article/details/79971621