- 浏览: 49601 次
文章分类
最新评论
系统自动抛出的异常
所有系统定义的编译和运行异常都可以由系统自动抛出,称为标准异常,并且 Java 强烈地要求应用程序进行完整的异常处理,给用户友好的提示,或者修正后使程序继续执行。
语句抛出的异常
用户程序自定义的异常和应用程序特定的异常,必须借助于 throws 和 throw 语句来定义抛出异常。
throw是语句抛出一个异常。
语法:throw (异常对象);
throw e;
throws是方法可能抛出异常的声明。(用在声明方法时,表示该方法可能要抛出异常)
语法:[(修饰符)](返回值类型)(方法名)([参数列表])[throws(异常类)]{......}
public void doA(int a) throws Exception1,Exception3{......}
举例:
throws E1,E2,E3只是告诉程序这个方法可能会抛出这些异常,方法的调用者可能要处理这些异常,而这些异常E1,E2,E3可能是该函数体产生的。
throw则是明确了这个地方要抛出这个异常。
如: void doA(int a) throws Exception1,Exception3{
try{
......
}catch(Exception1 e){
throw e;
}catch(Exception2 e){
System.out.println("出错了!");
}
if(a!=b)
throw new Exception3("自定义异常");
}
代码块中可能会产生3个异常,(Exception1,Exception2,Exception3)。
如果产生Exception1异常,则捕获之后再抛出,由该方法的调用者去处理。
如果产生Exception2异常,则该方法自己处理了(即System.out.println("出错了!");)。所以该方法就不会再向外抛出Exception2异常了,void doA() throws Exception1,Exception3 里面的Exception2也就不用写了。
而Exception3异常是该方法的某段逻辑出错,程序员自己做了处理,在该段逻辑错误的情况下抛出异常Exception3,则该方法的调用者也要处理此异常。
throw语句用在方法体内,表示抛出异常,由方法体内的语句处理。
throws语句用在方法声明后面,表示再抛出异常,由该方法的调用者来处理。
throws主要是声明这个方法会抛出这种类型的异常,使它的调用者知道要捕获这个异常。
throw是具体向外抛异常的动作,所以它是抛出一个异常实例。
throws说明你有那个可能,倾向。
throw的话,那就是你把那个倾向变成真实的了。
同时:
1、throws出现在方法函数头;而throw出现在函数体。
2、throws表示出现异常的一种可能性,并不一定会发生这些异常;throw则是抛出了异常,执行throw则一定抛出了某种异常。
3、两者都是消极处理异常的方式(这里的消极并不是说这种方式不好),只是抛出或者可能抛出异常,但是不会由函数去处理异常,真正的处理异常由函数的上层调用处理。
http://blog.csdn.net/hhy62011980/article/details/5548278
所有系统定义的编译和运行异常都可以由系统自动抛出,称为标准异常,并且 Java 强烈地要求应用程序进行完整的异常处理,给用户友好的提示,或者修正后使程序继续执行。
语句抛出的异常
用户程序自定义的异常和应用程序特定的异常,必须借助于 throws 和 throw 语句来定义抛出异常。
throw是语句抛出一个异常。
语法:throw (异常对象);
throw e;
throws是方法可能抛出异常的声明。(用在声明方法时,表示该方法可能要抛出异常)
语法:[(修饰符)](返回值类型)(方法名)([参数列表])[throws(异常类)]{......}
public void doA(int a) throws Exception1,Exception3{......}
举例:
throws E1,E2,E3只是告诉程序这个方法可能会抛出这些异常,方法的调用者可能要处理这些异常,而这些异常E1,E2,E3可能是该函数体产生的。
throw则是明确了这个地方要抛出这个异常。
如: void doA(int a) throws Exception1,Exception3{
try{
......
}catch(Exception1 e){
throw e;
}catch(Exception2 e){
System.out.println("出错了!");
}
if(a!=b)
throw new Exception3("自定义异常");
}
代码块中可能会产生3个异常,(Exception1,Exception2,Exception3)。
如果产生Exception1异常,则捕获之后再抛出,由该方法的调用者去处理。
如果产生Exception2异常,则该方法自己处理了(即System.out.println("出错了!");)。所以该方法就不会再向外抛出Exception2异常了,void doA() throws Exception1,Exception3 里面的Exception2也就不用写了。
而Exception3异常是该方法的某段逻辑出错,程序员自己做了处理,在该段逻辑错误的情况下抛出异常Exception3,则该方法的调用者也要处理此异常。
throw语句用在方法体内,表示抛出异常,由方法体内的语句处理。
throws语句用在方法声明后面,表示再抛出异常,由该方法的调用者来处理。
throws主要是声明这个方法会抛出这种类型的异常,使它的调用者知道要捕获这个异常。
throw是具体向外抛异常的动作,所以它是抛出一个异常实例。
throws说明你有那个可能,倾向。
throw的话,那就是你把那个倾向变成真实的了。
同时:
1、throws出现在方法函数头;而throw出现在函数体。
2、throws表示出现异常的一种可能性,并不一定会发生这些异常;throw则是抛出了异常,执行throw则一定抛出了某种异常。
3、两者都是消极处理异常的方式(这里的消极并不是说这种方式不好),只是抛出或者可能抛出异常,但是不会由函数去处理异常,真正的处理异常由函数的上层调用处理。
http://blog.csdn.net/hhy62011980/article/details/5548278
发表评论
-
全角半角混在截取固定位数
2015-08-27 18:29 766package zkktest; import java ... -
java读写txt文件
2015-04-22 11:06 683import java.io.BufferedReader; ... -
struts2前后台传值汇总-(4)ServletRequestAware-http格式
2015-03-13 22:20 808后台调用ServletRequestAwa ... -
struts2前后台传值汇总-(3)ServletActionContext-http格式
2015-03-13 22:08 743后台调用ServletActionContext.getS ... -
struts2前后台传值汇总-(2)RequestAware-map格式
2015-03-13 21:51 1452后台继承RequestAware,SessionAware ... -
struts2前后台传值汇总-(1)ActionContext-map格式
2015-03-13 21:38 1240后台调用ActionContext中的getObject( ... -
复制新项目注意事项
2015-02-25 22:24 738当你从别的项目复制为一个新项目的时候,需要.修改Web p ... -
用java进行文件转码方法
2015-01-30 16:01 977用java进行文件转码方法 BufferedReader ... -
java文件转码方法
2015-01-30 16:01 1BufferedReader br = new Buffer ... -
导zip4j_1.3.2.jar包,出力压缩加密csv文件
2015-01-21 11:49 836导包 入口 public static ... -
不导包,压缩出力csv文件
2015-01-21 11:38 1041最近研究压缩csv文件出力,根据网上资料,整理了一套用不导 ... -
学习:java设计模式—工厂模式
2015-01-09 19:01 613一、工厂模式主要是 ... -
Eclipse CVS更换帐号的方法
2014-08-18 11:43 749使用CVS进行版本控制,当要提交一个文件时,发现需要重新输入C ... -
BigDecimal属性
2014-04-23 09:56 868BigDecimal abs() ... -
BigDecimal对象的用法(加减乘除 + 四舍五入)
2014-04-21 11:10 876java.math.BigDecimal。BigDecimal ... -
简单的ArrayList去重
2014-04-10 09:18 730public static void main(String[ ... -
正则表达式使用
2014-03-20 11:19 608java.lang包中的String类,java.util.r ... -
System.out.println()和System.out.write()的区别
2014-02-06 15:47 618这两个函数一个是System.out.write()输出字符流 ... -
全角半角转换问题
2013-12-05 13:17 1189网上找个日文全角半角转换的方法。整理如下: public c ...
相关推荐
基于Java中throw和throws的区别详解 在Java编程语言中,throw和throws是两个常用的关键字,用于处理异常和错误。但是,很多新手程序员对这两个关键字的区别不是很清楚。今天,小编将为大家详细解释throw和throws的...
Java关键字throw和throws的区别 Java是一种面向对象的编程语言,具有强大且灵活的特性。其中,throw和throws是两个重要的关键字,经常被用来处理异常情况。然而,许多初学者却对这两个关键字的区别感到困惑。下面,...
java.throw与throws(解决方案).md
java.throw与throws(处理方案示例).md
在Java中,异常处理主要通过try-catch-finally结构来实现,而在异常处理中,`throw` 和 `throws` 关键字起着关键作用。它们虽然都与异常抛出有关,但使用方式和含义有所不同。 `throw` 关键字用于在代码中明确地抛...
在Java编程中,throws和throw是兩個與异常处理相關的关键字,虽然它们都是用于处理异常的,但它们的使用场景和语法不同。下面我们将详细解释throws和throw的區別。 throws throws是方法抛出一个异常的声明,用于告...
### Java中throws与throw的区别详解 #### 一、概述 在Java编程语言中,异常处理是一种重要的机制,用于处理程序运行过程中可能出现的各种错误情况。Java提供了多种方式来处理异常,其中`throw`和`throws`是最常用...
Java处理异常的机制关键字throw和throws是Java语言中两个非常重要的机制关键字,它们都是用来处理异常的,但它们之间存在着明显的区别。下面我们将通过示例代码详细地介绍throw和throws的使用解析。 Throws关键字 ...
throw和throws关键字的区别
在Java编程语言中,`throw`和`throws`都是用于处理异常的重要关键字,但它们的用法和功能有所不同。理解这两个关键字的区别对于编写健壮的Java程序至关重要。 首先,我们来了解一下异常的基本概念。在Java中,异常...
项目中碰到的,记录一下
### Java软件开发实战:使用throw和throws引发异常 #### 1. Java异常处理基础 在Java编程中,异常处理是一项非常重要的技术,用于处理程序运行过程中可能出现的各种异常情况。异常处理主要包括异常的捕获、处理...
在Java编程语言中,`throw`和`return`是两个非常重要的关键字,它们分别用于处理异常和返回方法的结果。本文将详细介绍这两个关键字的用法、特点以及它们与`finally`块之间的关系。 #### throw关键字 `throw`...
在Java编程中,异常处理是不可或缺的一部分,而`throw`和`throws`子句是Java异常处理的关键元素。本文将详细解析这两个关键字的使用方法。 首先,`throw`语句用于在代码中主动抛出一个异常。当你检测到程序运行过程...
在Java中,异常处理主要依赖于以下五个关键字:`try`, `catch`, `throw`, `throws`, 和 `finally`。其中,`throws`用于声明一个方法可能抛出的异常类型,从而让调用者能够做好相应的准备或者处理这些异常。 #### `...
本文将深入探讨“throws”与“throw”两个关键字的区别,以及它们在Java异常处理机制中的作用。 ### throws关键字 `throws`关键字主要用于方法签名中,用于声明一个方法可能会抛出的异常类型。当一个方法内部可能...
Throws和throw是Java中两个非常重要的异常处理机制,但它们之间的区别却经常让新手感到困惑。下面,我们将详细介绍如何区分JAVA中的throws和throw。 Throws Throws是Java中的一种异常声明机制,它用来声明一个...
Java 中的异常处理是 Java 编程中非常重要的一部分,throws 和 throw 语句是 Java 异常处理中两个最重要的语句,但许多人容易混淆它们的使用场景和区别。下面我们就来详细讲解 Java 中 throws 与 throw 的区别。 一...