“ Throws”有什么作用?它有什么帮助?
我是Java的新手,刚刚遇到了在方法中使用“ Throws”关键字的教程。我对此进行了一些研究,但仍然不太了解。
从我到目前为止所看到的,它告诉编译器在该特定方法中可能抛出某些异常。为什么我们需要告诉编译器呢?我已经在我的方法中仅使用try-
catch语句制作了许多程序,并且效果很好-当然,这些try-catch语句可以管理异常,对吗?
回答:
您可以使用和如您所说 在 方法 内 管理异常。在这种情况下,您无需使用。例如:try``catch``throws
public void myMethod(){
try {
/* Code that might throw an exception */
}
catch (SpaceInvadersException exception) {
/* Complicated error handling code */
}
}
但是,假设您有1000种方法,所有这些方法都可能抛出SpaceInvadersException
。然后,您将不得不编写所有复杂的错误处理代码一千次。当然,你总是可以创建一个ErrorHandler
类与dealWithSpaceInvadersException()
方法,你可以从他们打电话,但你仍然可以用一千卡try
-catch
块。
相反,您告诉编译器这千个方法中的每一个都可能抛出SpaceInvadersException
。然后,任何调用这些方法之一的方法都需要处理错误本身,方法是使用try
-catch
或告诉编译器 它 可能抛出SpaceInvadersException
。使用throws
关键字完成此操作,如下所示:
public void myMethod() throws SpaceInvadersException{
/* Code that might throw an exception */
}
public void callingMethod()
{
try {
myMethod();
}
catch (SpaceInvadersException exception) {
/* Complicated error handling code */
}
}
在这种情况下,您需要通知编译器myMethod
可能抛出SpaceInvadersException
。这意味着您必须以某种方式(try
-
catch
或throws
在调用方法上使用关键字)处理异常,才能调用该方法。如果throws
不存在,则可以在不进行任何异常处理的情况下调用该方法,并获得程序中任何地方都未处理的异常(这很糟糕)。
由于它始终是更好地避免代码重复,通常最好的手掌掉错误处理的try
-
catch
在一个更高的水平功能比它是在所有的低水平方法分别处理。这就是为什么存在这种机制的原因。
以上是 “ Throws”有什么作用?它有什么帮助? 的全部内容, 来源链接: utcz.com/qa/428708.html