异常Exception
try{
aa.divide(6,0) //6/0的意思
}
catch(Exception e){//e用来接收抛出的异常对象
e.printStackTrace();//可以简单地理解为输出该异常的具体信息
System.out.printf("除零错误");
}
异常不是编译时所出现的错误,Error Excepetion不一样
异常并不能用if else来处理
package testexpect;
import java.util.InputMismatchException;
import java.util.Scanner;
public class TestExpect {
public static void main(String[] args) {
int i;
Scanner sc = new Scanner (System.in);//表示键盘的意思 标准的键盘输入流
try{
i = sc.nextInt();
System.out.printf("%d",i);
} catch(InputMismatchException e){
System.out.printf("输入数据不合法,程序被终止!\n");
}
}
}
异常的处理机制
-
当Java程序运行时出现问题时,系统会自动检测到改错误,并立即生成一个与该错误对应的异常对象
-
然后把异常交给Java虚拟机
-
Java虚拟机会自动寻找相应的处理代码来处理这个异常,如果没有找到,则由Java须以积极做一些简单的处理后,程序被强行终止
-
程序员可以自己编写代码来捕捉可能出现的异常,并编写代码来处理相应的异常
异常的分类
-
Error的系统错误,程序员无法处理这些异常
-
Exception是程序员可以捕获并处理的异常
-
RuntimeException但又不是RuntimeException子类的异常我们都必须捕捉并进行处理
异常处理步骤
try{ 可能出现异常的代码块 } catch (ExpectionName1 e){ 当产生ExpectionName1异常的处理措施 } catch (ExpectionName2 e){ 当产生ExpectionName2异常的处理措施 } ........ finally{ 无论是否捕捉到异常都处理得代码 }
-
finally语句为异常处理提供一个唯一的出口,是得在控制流程转到程序的其他部分以前,能够对程序的状态做统一的管理
本文详细讲解了Java中异常的处理机制,包括Exception与Error的区别,如何使用try-catch-finally结构捕获和处理InputMismatchException,以及异常分类和处理步骤。实例演示了如何在代码中正确处理除零错误和键盘输入验证。
3020

被折叠的 条评论
为什么被折叠?



