如何重新抛出异常并在c#中返回一个值?

Ian*_*anM 5 c# exception

给定以下代码,如果抛出异常,如何返回一些值(DateTime.Now.ToString())?

public string DateToString(int year, int month, int day)
{
    try
    {
        DateTime datetime = new DateTime(year, month, day);
        return datetime.ToString();
    }
    catch (Exception)
    {
        //log error and rethrow
        throw;
    }
}
Run Code Online (Sandbox Code Playgroud)

SLa*_*aks 13

抛出异常时,您的方法立即结束.
也无法返回值.

当您调用抛出异常的方法时,控件将立即转移到catch块.
您将无法观察或使用(不存在的)返回值.

你应该重新考虑你的设计.