JAVA的throw和throws怎么用!

如题!请用具体例子说明!看书不懂!... 如题!请用具体例子说明!看书不懂! 展开
 我来答
浪尖讨生活9z
高粉答主

推荐于2019-10-23 · 每个回答都超有意思的
知道小有建树答主
回答量:298
采纳率:100%
帮助的人:13.5万
展开全部

throw是语句抛出一个异常;语法:throw(异常对象);

throws是方法可能抛出异常的声明。(用在声明方法时,表示该方法可能要抛出异常)   ;语法:[(修饰符)](返回值类型)(方法名)([参数列表])[throws(异常类)]{......}      

当某个方法可能会抛出某种异常时用于throws 声明可能抛出的异常,然后交给上层调用它的方法程序处理。如:

扩展资料:

throw与throws的区别

1、throw用在方法体内,上面代码显示了,是直接在main方法体内

throws用在方法声明后面,表示再抛出异常,由该方法的调用者来处理。这个看上面的代码就理解了。

2、throw是具体向外抛异常的,抛出的是一个异常实例。

throws声明了是哪种类型的异常,使它的调用者可以捕获这个异常。

3、throw,如果执行了,那么一定是抛出了某种异常了,安生throws表示可能出现,但不一定。

4、同时出现的时候,throws出现在函数头、throw出现在函数体,两种不会由函数去处理,真正的处理由函数的上层调用处理。

参考资料:百度百科 异常处理

Hlod猪行
推荐于2019-08-28 · TA获得超过2839个赞
知道答主
回答量:21
采纳率:0%
帮助的人:6281
展开全部

1、throws关键字通常被应用在声明方法时,用来指定可能抛出的异常。多个异常可以使用逗号隔开。当在主函数中调用该方法时,如果发生异常,就会将异常抛给指定异常对象。public class Shoot { 创建类static void pop() throws NegativeArraySizeException {//定义方法并抛出NegativeArraySizeException异常int [] arr = new int[-3];//创建数组}。

2、throw关键字通常用在方法体中,并且抛出一个异常对象。程序在执行到throw语句时立即停止,它后面的语句都不执行。class MyException extends Exception { //创建自定义异常类String message; //定义String类型变量public MyException(String ErrorMessagr) 。

3、通过throw抛出异常后,如果想在上一级代码中来捕获并处理异常,则需要在抛出异常的方法中使用throws关键字在方法声明中指明要跑出的异常;如果要捕捉throw抛出的异常,则必须使用try—catch语句。

Java是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。

Java语言作为静态面向对象编程语言的代表,极好地实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程。

Java具有简单性、面向对象、分布式、健壮性、安全性、平台独立与可移植性、多线程、动态性等特点。Java可以编写桌面应用程序、Web应用程序、分布式系统和嵌入式系统应用程序等。

本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
熬飞雨Ax
2009-04-28 · TA获得超过343个赞
知道小有建树答主
回答量:231
采纳率:0%
帮助的人:184万
展开全部
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则需要用户自己捕获相关的异常,而后在对其进行相关包装,最后在将包装后的异常信息抛出。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
在大别山看月亮的下弦月
2009-04-28 · TA获得超过789个赞
知道小有建树答主
回答量:501
采纳率:0%
帮助的人:261万
展开全部
比如打开文件这个操作可能抛出异常
public class Test{
public static void open(File file){
if(file==null){
throw new **Exception();//显示抛出 **Exception类型的异常。
}
}

public void run(File file) throws **Exception{//指出这个方法可能抛出**Exception这个类型的异常。
Test.open(null);
}

public void run(File file){
try{
Test.open(null);
}
catch(**Exception e){
//对异常作处理
}
}
}

throw是抛出异常,你可以理解为是动词。当你遇见异常时你可以作处理-像第三个方法一样。也可以不做处理声明这个方法可能抛出异常,让具体调用的时候去处理。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
ashidark
2009-04-28 · TA获得超过341个赞
知道小有建树答主
回答量:168
采纳率:0%
帮助的人:280万
展开全部
throw就是抛出一个异常,是一个动作
throws就指明程序段将有可能抛出异常,并不是让程序立即执行异常处理,而是像一个标记。
如下伪码:
public double 除法(double[] x)throws 零异常,数组下标异常
{
if(x[1]==0)
{
throw 零异常
}
return x[0]/x[1];
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(5)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式