天天看點

Aerospike C用戶端手冊———錯誤處理 錯誤處理

錯誤處理

每個資料庫操作均接受一個as_error對象做為參數。當在操作期間發生錯誤,參數as_error會被填入狀态碼和錯誤資訊。通常,參數as_error是資料庫操作的第二個參數。

as_error提供的資訊包括:

  • code

     — 操作的狀态,類型是as_status。
  • message

     — 錯誤碼相應的資訊。若操作成功完成,此資訊可能為空(NULL)。
  • func

     — 錯誤發生的函數名。若未能正确捕獲,可能為空(NULL)。
  • file

     — 錯誤發生的檔案名。若未能正确捕獲,可能為空(NULL)。
  • line

     — 錯誤發生的檔案行号。若未能正确捕獲,可能為0。

當操作完成,傳回一個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

繼續閱讀