检查插入是否成功(MongoDB C#驱动程序)

Cyn*_*mer 2 mongodb mongodb-.net-driver

假设"doc"是我要插入MongoDB集合的一些文档,"collection"是我将文档插入的集合.

我有以下内容:

try
{
    WriteConcern wc = new WriteConcern();
    wc.W = 1;
    wc.Journal = true;

    WriteConcernResult wcResult = collection.Insert(doc, wc);

    if (!string.IsNullOrWhiteSpace(wcResult.ErrorMessage) || !wcResult.Ok)
    {
        return ErrorHandler(...); 
    }
    else
    {
        return SuccessFunction(...); 
    }
}
catch (Exception e)
{
    return e.Message;
}
Run Code Online (Sandbox Code Playgroud)

基本上,如果插入因任何原因(硬件不再正常工作)失败,我想处理它(通过ErrorHandler函数或catch子句),如果成功,我想调用SuccessFunction.

我的问题:以上代码是否足以进行错误检查?换句话说,是否会捕获所有失败的插入,以便在这些情况下永远不会调用SuccessFunction?

Cra*_*son 8

你甚至不需要做任何检查.如果在使用除未确认之外的任何写入问题时写入不成功,collection.Insert将抛出异常.

如果您想知道是否发生错误,则需要捕获WriteConcernException.