黑马程序员技术交流社区
标题:
)throw和throws的用法和区别?
[打印本页]
作者:
守株人
时间:
2015-6-8 21:57
标题:
)throw和throws的用法和区别?
throw和throws在处理异常时怎么用啊
作者:
liya7907
时间:
2015-6-8 22:04
这个问题问的好:
给出以下答案:
throw和throws的用法和区别?
A:throw
用法:用在方法内部,后面跟的是异常对象名称。
区别:用throw抛出了编译时期异常,方法上面必须用throws抛出。
用throw抛出了运行时期异常,方法上面可以不用throws抛出。
B:throws
用法:用在方法声明上,后面跟的是异常类名。
区别:用throws在方法上声明了异常,内部可以没有throw
作者:
半月
时间:
2015-6-8 22:06
throw 抛出异常对象
throws 声明你所抛出的异常
在程序中你可以自己设计出现某种情况就抛异常,
然后在抛出异常的方法上声明就可以了
作者:
小黑啊
时间:
2015-6-8 23:16
throws是声明异常,写在方法上
throw是抛出异常,写在方法内
作者:
城北一直晴。
时间:
2015-6-9 00:04
二楼回答的很好!
作者:
开弓没有回头箭
时间:
2015-6-9 08:45
throw是在方法过程中抛异常,抛的是异常对象,throws则是在方法内有throw异常或方法内方法throws异常没有处理,则该方法后要throws异常,抛出对象为异常类名
作者:
李俊超
时间:
2015-6-9 08:56
一楼回答的很详细了:throw在方法抛出处理异常,throws在方法声明上抛出异常。个人理解:前者是在自己方法内解决。后者是交给别人解决。
作者:
meng12
时间:
2015-6-9 09:07
throw定义在函数内,throws定义在函数外
作者:
途中ms前进
时间:
2015-6-9 11:25
t补充一点throws使用在函数上,后面跟的异常类可以跟多个用逗号隔开。
作者:
路途遥远
时间:
2015-6-9 14:02
1. Throws 用来声明一个Exception,Throw是关键子抛出一个具体的实例Exception
2. 从语法上说Throws后面是类名,Throw后面是对象
3. Throws用在方法声明处也就是方法名后面,Throw用在方法体里
....
static{
try {
throw new Exception("Something went wrong!!");
} catch (Exception exp) {
System.out.println("Error: "+exp.getMessage());
}
}
....
复制代码
public void sample() throws ArithmeticException{
//Statements
.....
//if (Condition : There is an error)
ArithmeticException exp = new ArithmeticException();
throw exp;
...
}
复制代码
4. Throws可以抛出多个Exception,Throw一次只能抛一个
throw new ArithmeticException("An integer should not be divided by zero!!")
throw new IOException("Connection failed!!")
复制代码
throws IOException, ArithmeticException, NullPointerException,
ArrayIndexOutOfBoundsException
复制代码
作者:
杜弦东.
时间:
2015-6-9 14:59
有很明显的区别。首先,是使用的位置,throws 只能跟在方法名和括号的后面,而 throw 只能出现在方法体内。其次,throws 是一个声明(它声明这里可能出现异常,但未必一定出现),而 throw 是一个动作(它抛出也可以说它产生一个异常出现,只要执行到了这个关键字,异常必定出现)。你可能 throws 用的比较熟悉,throw 还不太知道怎么用。我再说具体一点的。当你使用 throw 抛出(产生)一个异常的时候,如果方法用 throws 抛弃(抛开,这里不理了)异常,那么这个异常将被抛到了调用这个方法的地方去。如果这个方法没有用 throws 抛弃异常,那么就需要使用 try...catch 来捕捉异常了。相信你能明白这里所谓的“产生”跟“抛弃”的区别了。产生,就是异常出现的地方。抛弃,就是让异常通过这里去到别的地方,是异常经过的地方。如果你还不明白 throw 具体有什么用,我再举一个简单的例子。例如你做一个程序,需要输入月份的,如果输入了 13 ,那就是无效数据,那这时候你有两种处理方式,第一种就是使用判断语句判断,然后提示;第二种就是抛出一个异常,让上层调用的方法去处理这个输入错误。如果你不明白这种做法的好处,那没关系,以后程序做多了你就会发现的,现在至起码你知道了它有这种用法。
作者:
xiaodong
时间:
2015-6-9 22:13
学习学习!
作者:
十五号的人生
时间:
2015-6-9 22:15
1、throws关键字通常被应用在声明方法时,用来指定可能抛出的异常。多个异常可以使用逗号隔开。当在主函数中调用该方法时,如果发生异常,就会将异常抛给指定异常对象。
2、throw关键字通常用在方法体中,并且抛出一个异常对象。程序在执行到throw语句时立即停止,它后面的语句都不执行。通过throw抛出异常后,如果想在上一级代码中来捕获并处理异常,则需要在抛出异常的方法中使用throws关键字在方法声明中指明要跑出的异常;如果要捕捉throw抛出的异常,则必须使用try—catch语句。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2