笔记21 异常

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("你输入的数据有误 ");
		}
	}
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值