学习Java(61)_为什么会需要异常

为什么需要异常呢?在实际编程中,有些异常是无法通过逻辑判断来解决的,而这个异常处理机制就很好的解决了这个问题。听起来有点复杂,先举一个例子:
先举一个例子:
import java.util.*;
public class TestInput
{
	public static void main( String[] args )
	{
		Scanner sc = new Scanner( System.in );
		int i = sc.nextInt();
		System.out.println( "输入的数字是:"+i );
	}
}
/*
	在JDK1.8.0_91中运行的结果是:
	============================
	E:\textjava>java TestInput
	a
	Exception in thread "main" java.util.InputMismatchException
			at java.util.Scanner.throwFor(Scanner.java:864)
			at java.util.Scanner.next(Scanner.java:1485)
			at java.util.Scanner.nextInt(Scanner.java:2117)
			at java.util.Scanner.nextInt(Scanner.java:2076)
			at TestInput.main(TestInput.java:8)
	============================
	总结:
		如果输入一个非int类型的数据,就会抛出一个异常。显然这个异常无法用if来解决。
*/
再来一个使用了异常处理机制的例子
import java.util.*;
public class TestInput_1
{
	public static void main( String[] args )
	{
		try
		{
			Scanner sc = new Scanner( System.in );
			int i = sc.nextInt();
			System.out.println( "输入的数字是:"+i );
		}
		catch( InputMismatchException e )
		{
			System.out.println( "请输入一个数字。" );
		}
	}
}
/*
	在JDK1.8.0_91中运行的结果是:
	============================
	E:\textjava>java TestInput_1
	a
	请输入一个数字。
	============================
	总结:
		本程序出现的异常是无法通过逻辑判断来解决的,
		Java提供的异常处理机制很好的解决这个问题。
*/


小艾的博客 http://www.aixinyan.me/