gpt4 book ai didi

java - 这种异常处理方法有什么问题吗?

转载 作者:太空宇宙 更新时间:2023-11-04 15:21:10 24 4
gpt4 key购买 nike

我们需要有两个函数。它们做同样的事情,但一个处理异常,一个抛出异常。注意:如果要处理异常,必须在下面的commonFunc()中处理异常。在 functionHandlesEx() 中处理异常是行不通的,因为要处理该函数,它需要仅在 commonFunc() 中可用的变量。为了重用代码,我们得到了以下内容。你看到它有什么问题吗(我可以看到一个问题是:函数抛出异常,但实际上当 isExceptionHandled 为 true 时没有抛出异常——但 Java 允许这样做)?有更好的方法来做到这一点吗?我们使用的是 Java 6。谢谢。

public void functionThrowsEx() throws Exception e
{
commonFunc(false); //false means does not handle exception
}

public void functionHandlesEx()
{
try
{
commonFunc(true); //true means handle exception
}
catch (Exception e)
{
// do nothing as exception handled
}
}

private void commonFunc(final boolean isExceptionHandled) throws Exception
{
try
{
....
}
catch (Exception e)
{
if (isExceptionHandled)
{
//handle the exception
}
else
{
throw e;
}
}
}

最佳答案

这似乎是处理异常的过于复杂的方法。我理解它的玩具代码来显示您在做什么,但我还没有遇到很多创建嵌套调用以处理异常的原因。

理想情况下,可能导致异常的代码应该有处理异常的方法,使用 try...catch,也许还有finally。这个逻辑流程看起来在一个不平凡的应用程序中相当复杂,并且会导致调试的复杂性和难度增加。

关于java - 这种异常处理方法有什么问题吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20365755/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com