当函数deferDemo返回失败时,并不能destroy已create成功的资源()
func deferDemo() error {err := createResource1()if err != nil { return ERR_CREATE_RESOURCE1_FAILED}defer func() { if err != nil { destroyResource1() }}()err = createResource2()if err != nil { return ERR_CREATE_RESOURCE2_FAILED}defer func() { if err != nil { destroyResource2() }}()err = createResource3()if err != nil { return ERR_CREATE_RESOURCE3_FAILED}return nil }
此题为判断题(对,错)。
第1题:
Linux的系统调用函数的返回值为0,表示系统调用失败,非0表示成功。系统调用失败时可以通过变量errno获取失败原因,通过strerror()函数可以获取系统给出的描述失败原因的文字信息。
第2题:
若fopen()函数打开文件失败,其返回值是()。
A.1
B.-1
C.NULL
D.ERROR
第3题:
关于bind函数下列说法正确的是:
A.执行成功时会返回0
B.失败时会返回SOCKET_ERROR
C.错误信息可用WSAGetLastError()函数查询
D.执行成功时会返回套接字
第4题:
有如下函数定义,执行函数调用func(3)的返回值是________ 。 def func(n): if n <= 1: return n else: return(func(n-1) + func(n-2))
第5题:
用户登录操作函数的返回值为0时表示调用失败,不为0时表示调用成功。