当前位置:首页 > 嵌入式培训 > 嵌入式学习 > 讲师博文 > Java中的throws与throw关键字

Java中的throws与throw关键字 时间:2014-08-19      来源:未知

Java中的异常处理还是比较有意思的!就是该你管就你管,不是你该管的,好不要越级管理!不然我这级管理存在就没有意义!

Java的异常处理是通过5个关键字来实现的:try,catch,throw,throws,finally。这里我主要说一下throw,throws。

throws语句

throws总是出现在方法声明时,用来标明该成员方法可能抛出异常。如果是多个异常,使用逗号隔开。对大多数Exception子类来说,Java 编译器会强迫你声明在一个成员函数中抛出的异常的类型。如果异常的类型是Error或 RuntimeException, 或它们的子类,这个规则不起作用, 因为这在程序的正常部分中是不期待出现的。 如果你想明确地抛出一个RuntimeException,你必须用throws语句来声明它的类型。

throw语句

throw总是出现在方法体中,用来抛出一个异常。程序会在throw语句后立即终止,它后面的语句执行不到。通过throw抛出异常后,如果想在上一级代码中来捕获并处理异常,则需要在抛出异常的方法中使用throws关键字在方法声明中指明要抛出的异常。

如果一个方法显示的标识抛出异常,则必须使用try—catch语句。

以下是一个自定义异常类的例子:

class MyException extends Exception { //创建自定义异常类
                String message; //定义String类型变量
                public MyException(String ErrorMessagr) { //父类方法
                        message = ErrorMessagr;
                }

                public String getMessage(){ //覆盖getMessage()方法
                        return message;
                }
        }
        public class Captor { //创建类
                static int div(int x,int y) throws MyException{//定义方法抛出异常
                        if(y < 0){ //判断参数是否小于0
                                throw new MyException("除数不能是负数");//异常信息
                        }
                        return x/y;//返回值
                }
                public static void main(String args[]){ //主方法
                        try{ //try语句包含可能发生异常的语句
                                div(3,-1);//调用方法
                        }catch (MyException e) { //处理自定义异常
                                System.out.println(e.getMessage()); //输出异常信息
                        }
                        catch (Exception e) { //处理其他异常
                                System.out.println("程序发生了其他的异常");
                                //输出提示信息
                        }
                }
        }

上一篇:安卓中区分点击事件和滑动事件

下一篇:解决VMware上网与本地网络调试冲突

热点文章推荐
华清学员就业榜单
高薪学员经验分享
热点新闻推荐
前台专线:010-82525158 企业培训洽谈专线:010-82525379 院校合作洽谈专线:010-82525379 Copyright © 2004-2022 北京华清远见科技集团有限公司 版权所有 ,京ICP备16055225号-5京公海网安备11010802025203号

回到顶部