- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
JAVA整理-第七天
线程Throw(引发明确的异常)Throws(指出方法可能抛出的异常 )Try { 可能发生异常的代码 }Catch{ 捕获异常 }异常try{Float in = Float.parseFloat(input);} catch (NumberFormatException nfe){System.out.println(input + “ is not a valid number”);}把可能发生异常的代码放到 try 中,发生异常后,再执行catch。catch()括号中根据try中代码实际可能发生的异常,使用相应的异常类定义对象。这里定义的对象是参数,用来接收 try 中发生异常的实际对象。先执行try,如果发生异常执行catch,无异常跳过catch在catch块中可以使用 nfe来调用 getMessage()和 printStackTrace(),来显示详细的错误信息。try{Float in = Float.parseFloat(input);} catch (NumberFormatException nfe){System.out.println(“Oops” + nfe.getMessage());}至此,介绍的范例都捕获顶顶类型的异常。由于异常类备组织成层次结构,同时期望可以在超类的地方使用子类,因此可以在一条catch语句中捕获一组异常。finally子句不管发不发生异常,finally中的代码都必须执行。这通常是释放外部资源,关闭打开的文件等。try{readTextfile();}catch(IOExpection e ){// deal with IO errors}finally {closeTextfile();}声明可能引发异常的方法如果一个方法可以导致一个异常但不处理它,它必须制定这种行为,以使方法的调用者在调用该方法时,能够处理这种异常。制定这种行为适用throws例如: public Boolean myMethod (int x, int y) throws NumberFormatException { // }如果方法引发多个异常,throws EOFException, InterruptedException, NumberFormatExceptionPublic void Method() throws IOException,IOException是EOFException、NumberFormatExcepion等的超类,使用IOExcepion就包括了它的子类。注意:将关键字throws加入到方法定义中只是意味着,如果发生错误,该方法可能引发异常,而并不是将发生这种异常。Throws只是指出了潜在的可能问题。传递异常有时候,在方法中对某个异常进行处理是不合理的,由调用该方法的方法进行处理更合适。例如: public A()throws EOFException { // } Public class B {B b = new B();Tyr { b.A(); }catch(Exception e){ System.out.println();}} 在B中调用方法A,对可能发生的异常进行处理。throws和继承如果父类中的方法抛出多个异常,则子类中的覆盖方法,要么抛出相同的异常,要么抛出父类异常的子类,不能抛出新的异常。创建并引发自己的异常 异常类通常有两个构造函数:第一个接受任何参数,第二个接受一个字符串参数。对于第二种构造函数,应在其中调用supper(),以确保该字符串被应用到正确的地方。Public class SunSpotException extends Exception {Public SunSpotException(){ }Public SunSpotException(String msg){Super(msg);}}系统自动抛出的异常所有系统定义的编译和运行异常都可以由系统自动抛出,称为标准异常,并且 Java 强烈地要求应用程序进行完整的异常处理,给用户友好的提示,或者修正后使程序继续执行。语句抛出的异常 用户程序自定义的异常和应用程序特定的异常,必须借助于 throws 和 throw 语句来定义抛出异常。throw是语句抛出一个异常。语法:throw (异常对象); throw e;throws是方法可能抛出异常的声明。(用在声明方法时,表示该方法可能要抛出异常)语法:[(修饰符)](返回值类型)(方法名)([参数列表])[throws(异常类)]{......} public void doA(int a) throws Exception1,Exception3{......}举例:throws E1,E2,E3只是告
文档评论(0)