package test0911;
import java.util.InputMismatchException;
import java.util.Scanner;
/*
* 1、什么是异常?
*
* 2、异常的分类?
* 1) 未检查的异常: 程序编写完成后,没有基本的语法错误;接着进行编译且编译不会报错。
* 然而,程序在运行期间可能出错。我们将这种出错现象称之为未检查的异常。
*
* 2) 已检查的异常: 程序编写完成后,没有基本的语句错误,但在编译时去报错了且错误信息
* 为 "Unhandled exception type XXXXXX" 这样的。则我们称这种异常为已检查的异常。
*
* 3、在Java语言中,可处理的异常均有Exception类来管理。
* 所有可处理的异常均为 Exception 类的子类。
* 根据多态的特性,可以用父类的对象变量来接收子类的对象。
*
* 4、异常的处理机制有两种:
* 1) 在方法的头部通过 throws 关键字将异常抛出(抛弃)。
*
* 2) 在方法体中使用 try{}catch(){} 语句块处理掉异常。
*
* 5、对待程序的异常有两个建议:
* 1) 当处理的异常为 "未检查的异常" 时,则尽量采用 逻辑办法(智慧)解决。
*
* 2) 当处理的异常为 "已检查的异常" 时,则必须采用Java提供的异常处理机制来解决。
*
* 6、什么时候使用throws关键字?
* 答案: 在编写普通方法时,当方法体中有异常产生时,则往往在方法头部将异常抛出。
*
* 7、在异常处理机制中: 一个try后面可以跟上一个catch或多个catch或零个catch,但此时必须有一个finally
*
* 1) try{}catch(){}
* 2) try{}catch(){} catch(){} ... catch(){}
* 3) try{}catch(){} catch(){} ... finally{ }
* 4) try{}finally{}
* 5) try{}catch(){} finally {}
*
* 注意: finally语句块用来处理必须执行的语句。通常用来关闭打开的文件或断开连接的数据库.
*
*/
public class ExceptionTest1 {
public static void main(String[] args) {
try{
String s = null; //字符串对象并没有创建, 会出现 NullPointerException 异常;
System.out.println(s + "这个串的长度是: " + s.length() );
}catch(NullPointerException e){
System.out.println("字符串并没有创建,无法求其长度。");
}finally{
System.out.println("finally 关键字的作用是, 无论有无异常均执行此语句。");
}
Scanner sc = new Scanner(System.in); //导入键盘输入;
try{
System.out.print("请输入第一个整数 \t" );
int x = sc.nextInt(); //输入有误时,会导致InputMismatchException异常;
System.out.print("请输入第二个整数 \t" );
int y = sc.nextInt();
System.out.println("两个整数相加得:" + x + "+" + y + "=" + (x+y) ) ;
}catch(InputMismatchException e){
System.out.println("你输入的数据有误 ");
}
}
}
笔记21 异常
最新推荐文章于 2024-03-28 09:47:31 发布