抛出和抛出异常处理

时间:2013-04-02 05:43:23

标签: java

任何人都可以在Java中的异常处理中简要介绍throwsthrow之间的区别

4 个答案:

答案 0 :(得分:3)

当你的方法有一些代码在运行时导致错误并且你需要在你的方法调用时处理或抛出异常时使用了throws。

虽然抛出是你可以明确地抛出错误。

这是两个

的例子

投掷

public void test() throws ClientProtocolException,IOException{

    HttpGet httpGet = new HttpGet(urlStr);
    HttpClient httpclient = new DefaultHttpClient();
    HttpResponse httpResponse = httpclient.execute(httpGet);

}

这将导致异常,因为它会导致ClientProtocolException或IOException。

投掷

public void test(String str){

    if(str==null){
        throw new NullPointerException(); // now here you explicitly throws the error whenever you getting str object as null
    }

}

答案 1 :(得分:3)

当我们说:function()抛出IOException时,意味着函数内部的代码能够抛出IOException。因此,无论谁调用此函数都应该在try-catch块中处理此函数。所以在这里我们看到了检查异常的概念。

当我们说:
抛出IOException。你的代码块故意抛出这个异常,有人需要抓住它。

答案 2 :(得分:3)

throws :它只是将异常传递给调用方法。也是一个指示,该方法有可能在运行时抛出一些异常,如IOExceptionSQLException等...如果检查异常(除RunTimeException或其子类以外的任何其他内容)它必须处理(try-catch)或再次传递给调用者。

throw:它是生成异常的子句。 (简单来说)这就是你在方法签名中看到throws的原因,因为它们必须在其中包含任何throw声明

答案 3 :(得分:3)

我们在方法签名中使用throws来指示方法能够抛出特定异常。调用此方法的任何代码都必须处理可能发生特定异常的可能性。

throw关键字用于实际抛出异常。它可以在任何可以发表声明的地方使用。