黑马程序员技术交流社区
标题:
求解
[打印本页]
作者:
微笑=.一瞬间
时间:
2014-4-4 18:58
标题:
求解
哪位好心的学长 帮忙回答下 throw和throws的区别在那里呢 一直搞不明白 请大神指点
作者:
wuyuecns
时间:
2014-4-4 19:23
1)用throws声明的异常表示此方法不处理异常,而交给方法的调用处处理。
比如:
class Math{
public int div(int i,int j) throws Exception{ //方法可以不处理异常
int temp=i/j;
return temp;
}
}
public class ThrowsDemo
{
public static void main(String[] args)
{
Math m=new Math();
try{
System.out.println("除法操作:"+m.div(10,2)); //可以看出,在主方法中添加了try...catch,异常交由主程序处理
}catch(Exception e)
{e.printStacktrace();
}
}
}
复制代码
而可以使用throw直接抛出一个异常,
class Math{
public int div(int i,int j) throws Exception{ //方法可以不处理异常
int temp=0;
try{
temp=i/j; //如果产生异常,教给catch
}catch(Exception e){ //捕获异常
throw e;
}finally{
System.out.println("****** div over******")
}
return temp;
}
}
public class ThrowsDemo
{
public static void main(String[] args)
{
Math m=new Math();
try{
System.out.println("除法操作:"+m.div(10,2));
}catch(Exception e)
{e.printStacktrace();
}
}
}
复制代码
作者:
haixian
时间:
2014-4-4 19:27
throw抛出异常,throws声明方法抛出异常。
作者:
最喜蛋炒饭
时间:
2014-4-4 19:49
throws是声明异常,写在方法后面
throw是抛出异常,写在代码里
作者:
黄泉
时间:
2014-4-4 20:13
public Test() throws RepletException {
try {
System.out.println("Test this Project!")
}
catch (Exception e) {
throw new Exception(e.toString());
}
}
throws是用来声明一个方法可能抛出的所有异常信息
throw则是指抛出的一个具体的异常类型。
通常在一个方法(类)的声明处通过throws声明方法(类)可能抛出的异常信息,而在方法(类)内部通过throw声明一个具体的异常信息。
throws通常不用显示的捕获异常,可由系统自动将所有捕获的异常信息抛给上级方法;
throw则需要用户自己捕获相关的异常,而后在对其进行相关包装,最后在将包装后的异常信息抛
作者:
林发明
时间:
2014-4-4 21:00
Throws 用在函数上,后面跟异常类,可以跟多个,用逗号隔开。
作用是给这个函数声明一个异常,提醒调用者这个函数运行时可能会有异常出现,在使用时需要处理
Throw用在函数内,后面跟异常对象。
作用是当出现一个情况后,编程人员可以把这个情况当作异常,将其抛出。
class Demo
{
int div(int a,int b) throws FuShuException
{
if(b<0)
throw new FuShuException("除数中出现了负数!!!");//手动通过throw抛出一个自定义异常类对象
return a/b;
}
}
复制代码
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2