我有一个c程序,它定义了以下功能:
void logFatal(char *msg, enum errors error)
{
fprintf(stderr, msg);
exit(error);
}
在程序的其余部分,如果发生任何事情意味着如果继续执行程序将无法正常运行(典型的例子是调用malloc
无法分配内存),那么我调用logFatal
并且程序退出,它恰好发生在哪里。
这是好/坏的做法吗?
答案 0 :(得分:0)
只要你没有为其他人写图书馆;)你可以自由地这样做。它通常用作最后一个资源,因为大多数错误都足以取消操作。
想象一下这个错误:
感觉有点苛刻......所以在这种情况下最好通过给用户等的消息来处理错误。但是既然你没有指定什么样的应用程序,我无法告诉你任何关于但是,malloc故障通常表明存在很大问题,所以在这种情况下,最好退出。