可能重复:
ANSI C 等效于 try/catch?
有没有办法跳过关键代码?或多或少类似于现代编程语言中的 try-catch。刚才我正在使用这种技术来发现错误:
bindSignals();
{
signal(SIGFPE, sigint_handler);
// ...
}
int main(void)
{
bindsignals();
int a = 1 / 0; // division by zero, I want to skip it
return 0;
}
问题是如果我不退出处理程序中的程序,我会一次又一次地得到同样的错误。如果可能的话,我想避免goto
。我也听说过“跳远”什么的。值得(学习)使用吗?