我有对字符串执行操作的函数。例如,String *concat(s1, s2);
这将转向s1 + s2并返回一个新的String。C检查NULL和错误处理
我想象另一个用户可以发送NULL参数。 我可以检查NULL。
if(s1 == NULL || s2 == NULL)
return NULL;
而只是返回NULL。
或者我可以做与整个程序退出:
exit(EXIT_FAILURE);
我认为,要解决的问题是退出功能,而不是返回任何的最佳途径。但是,如果我的用户期待字符串,我只是回来,不会他崩溃和烧伤?我也觉得打印给用户是一个坏主意。
我很想找到一种方法来退出函数,并在任何情况下允许程序继续执行。
结合两个NULL字符串会产生另一个NULL字符串,所以混淆了什么。它应该*也是被调用者对输入进行消毒的责任。你需要确保*你*不会因无效输入而崩溃。 – devnull
或者,您需要确保您_do_崩溃以查找无效输入 - 记录界面并声明它已被授予。快速失败也是一个好策略。 –