当函数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 }此题为判断题(对,错)。
当函数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 }
此题为判断题(对,错)。
相关考题:
关于pthread_create函数,下列说法错误的是____。 A、它返回是线程创建成功与否的错误码B、线程属性参数使用空指针表示使用默认参数C、它成功创建线程后立刻执行线程函数等待其结束后返回D、可通过它将参数传递给线程函数
关于函数返回值的错误设计,下面说法正确的是() A. 如果失败原因只有一个,则返回boolB. 如果失败原因超过一个,则返回errorC. 如果没有失败原因,则不返回bool或errorD. 如果重试几次可以避免失败,则不要立即返回bool或error
在C程序中,语句“char*func(intx,inty);”表示的含义是( )。A.对函数func的定义B.对函数func的调用C.对函数func返回值类型的说明D.对函数func的原型说明
Linux的系统调用函数的返回值为0,表示系统调用失败,非0表示成功。系统调用失败时可以通过变量errno获取失败原因,通过strerror()函数可以获取系统给出的描述失败原因的文字信息。
有如下函数定义,执行函数调用func(3)的返回值是________ 。 def func(n): if n <= 1: return n else: return(func(n-1) + func(n-2))
关于bind函数下列说法正确的是:A.执行成功时会返回0B.失败时会返回SOCKET_ERRORC.错误信息可用WSAGetLastError()函数查询D.执行成功时会返回套接字