标签:常用 pack nal 语文 import public tostring 关闭数据库 catch
package cn.kecheng; import java.util.Scanner; /**异常:异常是指在程序的运行过程中所发生的不正常的情况,它会中断正在运行的程序 异常处理机制:java中通过异常处理机制为程序提供异常处理的能力,保持程序继续运行而不中断! 异常处理:涉及异常处理的关键字有try…catch/try…catch…finally * try{有可能产生异常情况的代码段}catch(异常类型){对异常进行处理的代码段} 1.正常执行,没出现任何异常2.出现异常,异常处理,正常结束 * 把有可能产生异常的代码放到try代码块中,catch代码块负责捕获并处理异常。 * try{有异常情况的代码段}catch(异常类型){对异常进行处理的代码段}finally{} * finally块用于进行收尾工作(关闭数据库、关闭文件、释放内存等资源),不管是否发生异常,finally都执行。finally 总是执行,常用进行收尾类工作。 * 特殊情况(B) [1] finally不执行的情况。 System.exit(0) 正常推出(退出)jvm,finally不会执行。 [2]catch可以省略,变成try…finally块。 */ public class Curriculum { public static void main(String[] args) { Scanner arr = new Scanner(System.in); System.out.println("请输入所选学科:1.语文2.数学3.英语"); try { //我输入a,不符合下面的int的类型,所以出现异常,然后执行直接从下面这行调到cath(异常捕获并处理)那 int arr1 = arr.nextInt(); if(arr1==1){ System.out.println("语文");} else if(arr1==2){ System.out.println("数学"); }else if(arr1==3){ System.out.println("英语"); }else{ System.out.println("输入有误"); } }//如果不用Exception这个父类,为了进行匹配,可以用多重catch进行多重匹配catch{异常类型1}catch{异常类型2}catch{异常类型3}。。。 catch (Exception e){//捕获异常,进行异常匹配,【如果异常类型不匹配,程序会中断执行】Exception是所有异常的直接或间接父类 System.out.println("输入有误");//异常处理 // 打印异常的信息 System.out.println(e.toString()); //打印异常堆栈信息, e.printStackTrace(); //返回异常的描述信息,如果没有信息,返回null(InputMismatchException 没有描述信息) System.out.println(e.getMessage());//getMessage:返回异常的描述信息
// jvm 正常结束运行 【System.exit(0)】;如果有这个finally不会执行。因为代表整个虚拟机都关闭了,其他情况,不管是否有异常,finally都会正常执行
} finally { System.out.println("程序结束"); } //finally块用于进行收尾工作(关闭数据库、关闭文件、释放内存等资源),不管是否发生异常,finally都执行。finally 总是执行,常用进行收尾类工作。 System.out.println("程序结束"); } }
标签:常用 pack nal 语文 import public tostring 关闭数据库 catch
原文地址:https://www.cnblogs.com/406070989senlin/p/10776926.html