尝试捕捉糟糕的编程习惯

Rai*_*ain 3 c# try-catch

我正在执行存储过程并返回一个字符串.字符串设置为返回1,0"USER DOES NOT EXISTS"根据条件.

只是想知道以下是一个糟糕的编程习惯.

string result = _db.GetParameterValue(cmdObj, "@strMessage").ToString();
try
{
    int a = int.Parse(result);
    if (a == 1)
        Console.WriteLine("A");
    else
        Console.WriteLine("B");
}
catch
{
    Console.WriteLine(result);
}

Console.WriteLine(result);
Run Code Online (Sandbox Code Playgroud)

rob*_*ich 8

最好是专门匹配而不是假设它是基于捕获失败的int解析的"USER NOT EXISTS".

尝试/捕获/吞咽总是不好的做法.如果您要捕获异常,请记录或抛出异常.

你没有指定一种语言,所以假设它是C#,int.TryParse()int.Parse在内部更清晰try/catch.