錯誤處理
每個資料庫操作均接受一個as_error對象做為參數。當在操作期間發生錯誤,參數as_error會被填入狀态碼和錯誤資訊。通常,參數as_error是資料庫操作的第二個參數。
as_error提供的資訊包括:
-
— 操作的狀态,類型是as_status。code
-
— 錯誤碼相應的資訊。若操作成功完成,此資訊可能為空(NULL)。message
-
— 錯誤發生的函數名。若未能正确捕獲,可能為空(NULL)。func
-
— 錯誤發生的檔案名。若未能正确捕獲,可能為空(NULL)。file
-
— 錯誤發生的檔案行号。若未能正确捕獲,可能為0。line
當操作完成,傳回一個as_status類型的值,此值對應于as_error.code。若操作傳回失敗狀态,一般是非AEROSPIKE_OK, 應用應檢查as_error變量以取得更多資訊。請參見as_status.h擷取完成清單。
一個as_error變量可重用于多個操作,每個操作會重置as_error并在出錯時設值。
下面是一個錯誤處理的簡單示例:
if (aerospike_key_put(&as, &err, NULL, &key, &rec) != AEROSPIKE_OK) {
fprintf(stderr, "err(%d) %s at [%s:%d]\n", err.code, err.message, err.file, err.line);
}
原文連結: http://www.aerospike.com/docs/client/c/usage/error.html
譯 者: 歪脖大肚子Q