gpt4 book ai didi

java - Java 中的 "goto"替代方案

转载 作者:行者123 更新时间:2023-11-28 07:18:48 25 4
gpt4 key购买 nike

在 Visual C++ 代码中,我曾经写过一些宏来检查函数的返回值是否不是预期的,转到 Exit 标签。像这样:

HRESULT hr = S_OK;
IF_FALIED_EXIT(boo());
...
Exit:
if(FAILED(hr)){ print error message }
return hr;

这是为了防止程序崩溃,总能处理异常。我的问题是,在 Java 中我们推荐这样的代码风格,还是我们应该在大多数情况下使用 try/catch?

谢谢

最佳答案

这在 Java 中是特别不鼓励的。参见 Features Removed From C and C++ .

在 Java 中,您可以做一些类似的事情,例如,请参阅以下使用带标签的 break 进行早期转义的基本示例:

// a Class is handed in to create a new instance of with basic reflection

construct_and_add: if (clazz != null) {

try {
Object obj = clazz.newInstance();

} catch (Exception e) {
System.err.println("Error <" + e.getClass().getName()
+ "> in reflective instantiation: " + e.getMessage());

break construct_and_add;
}

somewhereElse.add(obj);
}

关于java - Java 中的 "goto"替代方案,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19828169/

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