Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如果是条件,请尝试阻止_C#_.net - Fatal编程技术网

C# 如果是条件,请尝试阻止

C# 如果是条件,请尝试阻止,c#,.net,C#,.net,哪一个更好用 if (condition) { flagCheck = true; //Service layer call - code. flagCheck = false; } 或 这两种方法有什么区别?是否存在一种情况,其中一种情况比另一种情况更适合使用?好的,try块意味着您希望执行一个危险的操作,该操作需要在允许程序崩溃之前进行处理。通常,代替try的if语句仅适用于运行时异常。也就是说,NullReferenceException一个try块意味着您正

哪一个更好用

if (condition)
{
    flagCheck = true;

    //Service layer call - code.

    flagCheck = false;
}

这两种方法有什么区别?是否存在一种情况,其中一种情况比另一种情况更适合使用?

好的,try块意味着您希望执行一个危险的操作,该操作需要在允许程序崩溃之前进行处理。通常,代替try的if语句仅适用于运行时异常。也就是说,NullReferenceException

一个try块意味着您正在寻找一个危险的操作,在允许程序崩溃之前需要处理该操作。通常,代替try的if语句仅适用于运行时异常。即NullReferenceException在第一种情况下,如果//服务层调用-代码引发异常,flagCheck将保持为true,而在第二种情况下,无论是否引发异常,flagCheck将在//服务层调用-代码之后设置为false

这两种情况都不比另一种好;在第一种情况下,如果//服务层调用-代码引发异常,flagCheck将保持为true,而在第二种情况下,无论是否引发异常,flagCheck将在//服务层调用-代码之后设置为false


这两种情况都不比另一种好;选择一个符合您需要的选项。

我会说第二个选项,因为捕捉错误总是一个好的做法。在任何情况下,您可以使用第一个选项而不是第二个选项吗?如果您不调用任何可能返回错误的选项。一些简单的计算,我不使用try/catch。我的反射是,当我调用一些可能处于脱机状态的东西时,或者当您阅读文件和类似的东西时,使用try/catch。因为引起错误的风险很高,我会说第二个选项,因为捕捉错误总是一个很好的做法。在任何情况下,你会使用第一个选项而不是第二个选项吗?如果你不调用任何可能返回错误的东西。一些简单的计算,我不使用try/catch。我的反射是,当我调用一些可能处于脱机状态的东西时,或者当您阅读文件和类似的东西时,使用try/catch。因为造成错误的风险很高
if (condition)
{
    flagCheck = true;

    try
    {
       //Service layer call - code.
    }
    finally
    {
        flagCheck = false;
    }
}