throw是语句抛出一个异常;语法:throw(异常对象);
throws是方法可能抛出异常的声明。(用在声明方法时,表示该方法可能要抛出异常) ;语法:[(修饰符)](返回值类型)(方法名)([参数列表])[throws(异常类)]{......}
当某个方法可能会抛出某种异常时用于throws 声明可能抛出的异常,然后交给上层调用它的方法程序处理。如:
扩展资料:
throw与throws的区别
1、throw用在方法体内,上面代码显示了,是直接在main方法体内
throws用在方法声明后面,表示再抛出异常,由该方法的调用者来处理。这个看上面的代码就理解了。
2、throw是具体向外抛异常的,抛出的是一个异常实例。
throws声明了是哪种类型的异常,使它的调用者可以捕获这个异常。
3、throw,如果执行了,那么一定是抛出了某种异常了,安生throws表示可能出现,但不一定。
4、同时出现的时候,throws出现在函数头、throw出现在函数体,两种不会由函数去处理,真正的处理由函数的上层调用处理。
参考资料:百度百科 异常处理
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应用程序、分布式系统和嵌入式系统应用程序等。
try {
System.out.println("Test this Project!")
}
catch (Exception e) {
throw new Exception(e.toString());
}
}
throws是用来声明一个方法可能抛出的所有异常信息
throw则是指抛出的一个具体的异常类型。
通常在一个方法(类)的声明处通过throws声明方法(类)可能抛出的异常信息,而在方法(类)内部通过throw声明一个具体的异常信息。
throws通常不用显示的捕获异常,可由系统自动将所有捕获的异常信息抛给上级方法;
throw则需要用户自己捕获相关的异常,而后在对其进行相关包装,最后在将包装后的异常信息抛出。
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是抛出异常,你可以理解为是动词。当你遇见异常时你可以作处理-像第三个方法一样。也可以不做处理声明这个方法可能抛出异常,让具体调用的时候去处理。
throws就指明程序段将有可能抛出异常,并不是让程序立即执行异常处理,而是像一个标记。
如下伪码:
public double 除法(double[] x)throws 零异常,数组下标异常
{
if(x[1]==0)
{
throw 零异常
}
return x[0]/x[1];
}