Java(异常的捕获及处理)

上传人:nbwa****ajie 文档编号:37018120 上传时间:2018-04-05 格式:PDF 页数:37 大小:200.04KB
返回 下载 相关 举报
Java(异常的捕获及处理)_第1页
第1页 / 共37页
Java(异常的捕获及处理)_第2页
第2页 / 共37页
Java(异常的捕获及处理)_第3页
第3页 / 共37页
Java(异常的捕获及处理)_第4页
第4页 / 共37页
Java(异常的捕获及处理)_第5页
第5页 / 共37页
点击查看更多>>
资源描述

《Java(异常的捕获及处理)》由会员分享,可在线阅读,更多相关《Java(异常的捕获及处理)(37页珍藏版)》请在金锄头文库上搜索。

1、JavaJava编程基础编程基础JavaJava编程基础编程基础异常的捕获及处理异常的捕获及处理杨巍JavaJava编程基础编程基础异常的捕获及处理?Error Handling with Exceptions ?Java程序中的错误?语法错误编译时?语义错误运行时?出现各种各样的错误导致程序退出?异常ExceptionJavaJava编程基础编程基础3异常?异常?导致程序中断运行的一种指令流?不处理异常,可能导致程序的中断执行?任何程序都可能存在问题?处理异常?增进程序的稳定性及效率public class ExceptionDemo1 public static void main(Str

2、ing args) System.out.println(“*计算开始计算开始*“); int i=10; int j=0; int temp=i/j; /出现异常出现异常 System.out.println(“两个数字相除结果两个数字相除结果: “+temp); System.out.println(“*计算结束计算结束*“); 认识异常JavaJava编程基础编程基础5异常?在程序中使用异常处理?保证程序即使出现异常之后也可以正确执 行,则必须进行异常的处理?Java中所有的异常都以类和对象的形式 存在?提供各种异常类外?用户可以根据需要定义自己的异常类?异常处理格式try /可能出现异

3、常的语句可能出现异常的语句 catch(异常类 异常对象异常类 异常对象) /编写异常的处理语句编写异常的处理语句 catch(异常类 异常对象异常类 异常对象) /编写异常的处理语句编写异常的处理语句 finally 不管是否出现异常,都会运行到的程序代码不管是否出现异常,都会运行到的程序代码; public class ExceptionDemo2 public static void main(String args) System.out.println(“*计算开始计算开始*“); int i=10; int j=0; try int temp=i/j; /出现异常出现异常 Syst

4、em.out.println(“两个数字相除结果两个数字相除结果: “+temp); System.out.println(“=“); catch(ArithmeticException e) System.out.println(“出现异常了出现异常了: “+e); System.out.println(“*计算结束计算结束*“); JavaJava编程基础编程基础异常信息的输出?异常信息的输出?直接使用?Exception类中的getMessage()方法,获得 异常相关的信息?直接使用Exception类中的printStackTrace() 方法输出异常信息System.out.pri

5、ntln(异常对象异常对象);System.out.println(异常对象异常对象.getMessage();异常对象异常对象.printStackTrace();JavaJava编程基础编程基础public class ExceptionDemo2 public static void main(String args) System.out.println(“*计算开始计算开始*“); int i=10; int j=0; try int temp=i/j; /出现异常出现异常 System.out.println(“两个数字相除结果两个数字相除结果: “+temp); catch(Ar

6、ithmeticException e) /System.out.println(“出现异常了出现异常了: “+e); e.printStackTrace(); System.out.println(“*计算结束计算结束*“); JavaJava编程基础编程基础10练习?使用初始化参数输入两个数字,并进行 除法操作?捕获并处理自己程序的异常ExceptionDemo3.javaJavaJava编程基础编程基础11异常?数组超出绑定异常?java.lang.ArrayIndexOutOfBoundsException?数字格式化异常?java.lang.NumberFormatException

7、?算术异常?java.lang.ArithmeticExceptionExceptionDemo4.javaJavaJava编程基础编程基础12异常JavaJava编程基础编程基础13异常处理机制?异常处理机制?一旦产生异常,则首先产生一个异常类的实 例化对象?在try语句中对此异常对象进行捕获?产生的异常对象与catch语句中的各个异常 类型进行匹配,匹配成功则执行catch中的 代码JavaJava编程基础编程基础14public class ExceptionDemo5 public static void main(String args) System.out.println(“*计

8、算开始计算开始*“); int i=10; int j=0; try int temp=i/j; /出现异常出现异常 System.out.println(“两个数字相除结果两个数字相除结果: “+temp); System.out.println(“=“); catch(Exception e) System.out.println(“出现异常了出现异常了: “+e); System.out.println(“*计算结束计算结束*“); JavaJava编程基础编程基础15异常处理机制?Exception所捕获的异常范围大?数组超出绑定异常?java.lang.ArrayIndexOutOf

9、BoundsException?数字格式化异常?java.lang.NumberFormatException?算术异常?java.lang.ArithmeticExceptionJavaJava编程基础编程基础异常处理机制?使用Exception方便地捕获所有异常?可不可以直接使用Throwable??不建议这样使用?Error子类本身不需要程序处理?Exception子类需要程序处理?如果有多个异常分别进行捕获,还是直 接使用Exception捕获?JavaJava编程基础编程基础17异常处理机制?在Java中所有捕获范围小的异常必须放 在捕获范围大的异常之前try int temp=i/

10、j; /出现异常出现异常 System.out.println(“两个数字相除结果两个数字相除结果: “+temp); System.out.println(“=“); catch(Exception e) System.out.println(“出现异常了出现异常了: “+e); catch(ArithmeticException e) System.out.println(“出现算术异常了出现算术异常了: “+e); JavaJava编程基础编程基础18throws关键字?定义一个方法时可以使用throws关键字 声明?表示此方法不处理异常,交给方法的调用处 进行处理调用处 进行处理pub

11、lic 返回值类型 方法名称返回值类型 方法名称(参数列表参数列表) throws 异常类异常类 class Math public int div(int i,int j) throws Exception int temp=i/j; return temp; public class ExceptionDemo6 public static void main(String args) Math m=new Math(); int result=m.div(10, 2); System.out.println(result); class Math public int div(int i

12、,int j) throws Exception int temp=i/j; return temp; public class ExceptionDemo7 public static void main(String args) Math m=new Math(); try int result=m.div(10, 2); System.out.println(result); catch(Exception e) System.out.println(e); class Math public int div(int i,int j) throws Exception int temp=

13、i/j; return temp; public class ExceptionDemo8 public static void main(String args) throws Exception Math m=new Math(); int result=m.div(10, 2); System.out.println(result); JavaJava编程基础编程基础22Exception类与RuntimeException类?Integer类public static int parseInt(String s) throws NumberFormatExceptionpublic c

14、lass ExceptionDemo9 public static void main(String args) String str=“123“; int temp= Integer.parseInt(str) ; System.out.println(temp*temp); JavaJava编程基础编程基础23Exception类与RuntimeException类?Exception类与RuntimeException类?Exception类在程序中必须使用trycatch进 行处理?RuntimeException类可以不使用trycatch 进行处理,但是如果有异常,则异常将由 JV

15、M进行处理?最好使用trycatch进行处理JavaJava编程基础编程基础24方法覆写override的异常抛出?子类方法抛出的异常范围不能大于父类 中方法抛出的异常的范围(子类可以不抛 出异常)?If a superclass method throws multiple exceptions, the overriding method must throw a proper subset of exceptions thrown by the overridden method1 public class TestA 2 public void methodA() throws RuntimeException 3 / do some number crunching 4 5 1 public class TestB1 extends TestA 2 public void methodA() throws ArithmeticException 3 / do some number crunching 4 5 1 pu

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 其它办公文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号