大家好,我有一個疑問,是這樣的:
函數在處理數據的過程中發生了錯誤,比如malloc返回NULL,這個時候函數返回-1表示出錯,但對於已經處理一半的數據是丟掉呢?還是一並返回了,讓調用者得於不完全的數據,自己進行處理?
還是需要根據該函數的功能來確定具體怎麼辦,比如像你提到的malloc函數,當返回-1出錯時,那該函數已經確定的內存該怎麼辦呢,不能被重新分配了嗎,肯定不行啊。再比如像數據庫中的更新操作,在一個事務內的話就要回滾了,通常情況下,中途出錯了,要通知調用者出錯了,而函數要確保數據不會因為錯誤而被修改