Android菜鸟饭团#Java中文学习#第七课 活动笔记
一、基础知识(五个关键字) 1.finally 一个try后可以跟好几catch,finally不管有没有捕获到异常都会执行,finally为异常处理提供一个统一的出口, 通常可以在finally语句中可以进行资源的清除工,finally语句块中不能通过给变量赋新值来改变return的返回值。finally语句唯一不被执行的情况是方法执行了System.exit()方法。System.exit()的作用是终止当前正在运行的 Java 虚拟机。 (finally语句 可以进行关闭打开的文件 删除临时文件) 2.try try{}语句指定了一段代码,该代码就是捕获并处理例外的范围,在执行过程中,该段代码可能会产生并抛出一种或几种类型的异常对象,他后面的catch语句要分别对这些异常作相应的处理,如果没有例外产生,所有的catch代码段都会被忽略不执行;try 里边装的是可能抛出异常的语句;同一个try里的多个语句,若前一句发生异常,后一句就不会执行了。 3.catch Catch 声明其能处理的一种特定类型的异常并提高处理的方法,当异常发生时,程序会终止当前的流程,根据获取异常类型去执行相应的catch,此catch就不在执行其他的catch语句,完当没有异常发生时,所有的catch都被略过不执行。 4.throw throw总是出现在函数体中,用来抛出一个异常。程序会在throw语句后立即终止,它后面的语句执行不到,然后在包含它的所有try块中(可能在上层调用函数中)从里向外寻找含有与其匹配的catch子句的try块。 5.throws throws总是出现在一个函数头中,用来标明该成员函数可能抛出的各种异常。对大多数Exception子类来说,Java 编译器会强迫你声明在一个成员函数中抛出的异常的类型。如果异常的类型是Error或 RuntimeException, 或它们的子类,这个规则不起作用, 因为这在程序的正常部分中是不期待出现的。 如果你想明确地抛出一个RuntimeException,你必须用throws语句来声明它的类型。 二、应注意的问题和方法 1.重写方法需要抛出与原方法所抛出的异常类型一致或不抛出异常 2.先catch小的,再catch大的 3.try、catch、finally这三个关键字均不能单独使用。 4.throw和throws关键字的区别 throw用来抛出一个异常,在方法体内。语法格式为:throw 异常对象。 throws用来声明方法可能会抛出什么异常,在方法名后,语法格式为:throws 异常类型1,异常类型2...异常类型n。 5.常用方法 getMessage(),用来得到有关异常事件的信息 printStackTrace()用来跟踪异常事件发生时执行堆栈的内容 throws FiledNotFoundException 抛出不能解决的异常 6.多个catch块时候,只会匹配其中一个异常 类并执行catch块代码,而不会再执行别的catch块,并且匹配catch语句的顺序是由上到下。 讨论题 package yichangchuli; import java.util.Scanner; public class he1 { public static void main(String [] args){ try { long sum = 0; System.out.println("请输入10个正整数"); for(int i = 0; i < 10 ; i++ ){ Scanner a = new Scanner(System.in); int b = a.nextInt(); sum += b; } System.out.println(sum); }catch(Exception e){ System.out.println("输入正确的数 正整数 程序退出"); } } }
【书记员:刘鑫】 每一个技术小白都有一个成为大神的梦想,现在Android菜鸟饭团就给你这个成就梦想的机会。我们提供最新的Android技术教学,只要你又耐心和毅力就一定会在这里有所收获。 Android菜鸟饭团由南阳GDG组织发起,秉承着开放、分享、创新的原则,希望通过GDG社区的力量能够给更多的想要学习Android开发技术的小白们创造一个学习,交流,分享的环境。同往常的GDG活动一样,我们依然是任性的一个子都不要,并且还在周六的分享中提供盒饭和不定期的惊喜小礼物呦~所以快来加入我们吧,为你的大神梦想迈出第一步。
|