是否应检查每个功能的返回值?

时间:2015-07-12 02:59:45

标签: c winapi

我见过像这样的代码

function Calendar()

如果hdc = BeginPaint(hwnd, &ps); TextOut(hdc, x, y, L"Hello", 5); EndPaint(hwnd, &ps); 失败怎么办?是否应该在重要的应用程序中检查所调用的每个函数的返回值,例如商业应用程序?

1 个答案:

答案 0 :(得分:1)

BeginPaint功能可能失败,在这种情况下,hdc将设置为NULL。 Microsoft documentation并未指定将NULL hdc传递给TextOut时会发生什么,但它不会成为好事。因此,如果要将代码视为可靠,则需要检查BeginPaint的返回值。

如有疑问,应检查功能的返回值。我已经看到过多的代码,假设内存分配总是成功,文件系统不会填满,网络功能总是成功。