是否可以使用在if语句条件下引发异常的方法? C#

时间:2020-06-23 17:41:33

标签: c# if-statement exception try-catch throw

所以我试图对我的代码进行错误处理,到目前为止,这是我所拥有的:

date = GetDate(); 
if(date.throws_exception())
{
// would it be possible to make a condition for where you can say if date throws exception?
}

string GetDate()
{
    try
    {
        .
        . 
        .
        return date;
    }
    catch(Exception ex)
    {
        throw new Exception();
    }
}

我想知道if条件是否有可能,您能否说:

if(date throws exception)

1 个答案:

答案 0 :(得分:2)

您可以将方法调用放在try catch块中,或重写您的方法以返回结果对象,或表示成功并保存该值的元组。

返回表示成功的元组的示例:

(bool Success, string Value) GetDate()
{
    try
    {
        .
        .
        .
        return (true, date);
    }
    catch(Exception ex)
    {
        return (false, null);
    }
}

使用方式:

var result = GetDate(); 
if (result.Success)
{
    // do something with result.Value
}