throws
任何人都可以简要介绍 Java中throw
的异常处理之间的区别
4 回答
当您的方法有一些代码在运行时导致错误并且您需要在方法调用时处理或抛出该异常时,使用 throws。
虽然 throw 是为了你可以显式地抛出一个错误。
这是两者的示例
对于投掷
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
}
}
当我们说:function() 抛出 IOException 时,它意味着函数内部的代码能够抛出 IOException。所以调用这个函数的人应该在 try-catch 块中处理这个函数。所以在这里我们看到了检查异常的概念。
当我们说:
抛出 IOException。
您的代码块故意抛出此异常,并且需要有人捕获它。
throws :
它只是将异常传递给调用者方法。也表明该方法有可能在运行时抛出一些异常,例如IOException
等SQLException
...如果发生检查异常(除RunTimeException
或其子类之外的任何异常),则必须处理(try-catch)或再次传递给调用者.
throw:
它是生成异常的子句。(简单来说)这就是你throws
在方法签名中看到的原因,因为它们里面必须有任何throw
声明
我们throws
在方法签名中使用来指示方法能够引发特定异常。任何调用此方法的代码都必须处理可能发生特定异常的可能性。
该throw
关键字用于实际引发异常。它可以在任何可以放置语句的地方使用。