在java中throw与throws各自用在啥地方?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在java中throw与throws各自用在啥地方?相关的知识,希望对你有一定的参考价值。

throws 只能出现在方法后面

public void method() throws Exception

throw可以用在代码当中主动抛出excetion,如果代码中出现了throw, 调用的方法一定要写throws xxx
例如
public void method() throws Exception
xxxx
throw Exception();
参考技术A

throw在函数体内部 表示抛出一个异常,throw 关键字后必须跟一个异常类型

throws表示这个函数可能抛出某一个类型的异常

package xx.xxx.xx;
public class xxx
    public void exceptionMethod() throws MyException
        ...
        throw MyException(...);
        ...
    

类似这样  其中MyException继承自Exception

参考技术B 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则需要用户自己捕获相关的异常,而后在对其进行相关包装,最后在将包装后的异常信息抛出。
参考技术C

    throws必须跟在方法参数列表的后面,不能单独使用。

    throw位于方法体内部,可以作为单独语句使用;

throws:

public static void write() throws FileNotFoundException 

    FileInputStream fileInputStream=new FileInputStream("c");

throw:

String s = "abc";

if (s.equals("abc")) 

    throw new NumberFormatException();

 else 

    System.out.println(s);

java 基础 --异常

1,throws/throw的区别?
     throws:
          用在方法声明后面,跟的是异常类名
          可以跟多个异常类名,用逗号隔开
          表示抛出异常,由该方法的调用者处理
          throws表示出现异常的一种可能,不一定会发生这些异常

      throw:
          用在方法体内,跟的是异常对象名
          只能抛出一个异常对象名
          表示抛出异常,由方法体内的语句处理
          执行throw则一定抛出了某种异常
static void method() throws Exceptipn{
   
     if(){throw new Exception()}
    }

 

以上是关于在java中throw与throws各自用在啥地方?的主要内容,如果未能解决你的问题,请参考以下文章

JAVA的throw和throws怎么用!

Java的throw 和throws有啥区别?

Java程序中的异常应该在啥时候抛出

java基础(12)---异常

Java语言中throw和throws的区别是啥?

java 19 - 7 throw和throws的区别