1

什么时候将一个方法放在一个try/catch块中而不是关键的块中?

例如,如果我们有Pattern.compile()方法并且我们知道它可以抛出异常IllegalArgumentException并且PatternSyntaxException. 我们应该把这个方法放在一个try/catch块中吗?我知道try/catch当我们知道方法会失败时应该使用 a 。但是,在这种情况下try/catch block应该使用 a ,对吗?我们如何决定是否使用 a try/catch,因为每个方法如果失败都会抛出异常?有时编译器会提示我们对某些方法使用 a try/catch,但对于某些方法,我们必须自己决定。有哪些因素可以帮助我们做出决定?

4

2 回答 2

3

你把try catch你知道如何处理异常的地方。

例如,您正在从控制台读取数据并以与 I/O 相同的方法执行一些算术运算。在这种情况下,您的方法应该控制异常,通知用户错误,并要求更多数据(或更正的相同数据)。

在另一种情况下,您编写了一个执行相同操作的方法。有一次,你的一种表达被另一种分开。在除以 0 的情况下该怎么办?最有可能的是,让异常传播回来。调用方法(在某种程度上)将知道失败是否意味着程序崩溃,某个操作无法执行但其他操作可能执行,或者必须忽略数据。

于 2013-01-13T23:46:17.697 回答
2

让我简单解释一下。

你不需要一直使用 try 和 catch 。当您有任何可能因错误而终止程序的进程时,请使用 try 和 catch。例如文件读写。除此之外,您可以使用ifs

于 2013-01-13T23:52:00.580 回答