gpt4 book ai didi

c - 我们如何像其他语言(C++ 和 Java)一样处理 C 中的错误和异常?

转载 作者:太空狗 更新时间:2023-10-29 16:52:43 30 4
gpt4 key购买 nike

我们如何使用 try {}catch{} 在像 C++ 和 Java 这样的 C 语言中处理异常和错误? C有什么办法吗?

最佳答案

不,你不能,但有些模式使用 goto(Goto 并不总是是邪恶的)。

示例取自 this site

int foo(int bar)
{
int return_value = 0;

allocate_resources_1();

if (!do_something(bar))
goto error_1;

allocate_resources_2();

if (!init_stuff(bar))
goto error_2;

allocate_resources_3();

if (!prepare_stuff(bar))
goto error_3;

return_value = do_the_thing(bar);

error_3:
cleanup_3();
error_2:
cleanup_2();
error_1:
cleanup_1();
return return_value;
}

关于c - 我们如何像其他语言(C++ 和 Java)一样处理 C 中的错误和异常?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19132048/

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