返回方法而不是返回任何内容或null

时间:2015-06-18 06:28:28

标签: c# methods

public static string DecryptString(string EncryptedString)
{
    try 
    {
        ....... 
        ....
    }
    catch
    {
        return something else if decryption fails instead of null or empty string; 
    }
} 

如果解密失败不是字符串,我试图返回错误。

2 个答案:

答案 0 :(得分:0)

有两种可能性:删除try-catch / throw有用异常并处理方法之外的异常

public static string DecryptString(string EncryptedString)
{
    try 
    {
        /* your logic here */
        return result;
    }
    catch(Exception e)
    {
        throw new DecryptStringFailedException(e);
    }
} 

或返回一个布尔标志,指示操作的结果:

public static bool DecryptString(string EncryptedString, out string result)
{
    try 
    {
        /* your logic here */
        result = ...;
        return true;
    }
    catch
    {
        return false; 
    }
} 

答案 1 :(得分:-1)

您应该使用int.TryParse的逻辑。它会返回bool,显示转化是否成功,如果转化成功则返回out

为您映射方案。

public static bool DecryptString(string EncryptedString, out string Output)
{
    try 
    {
        Output = //decrypted value
        return true;
    }
    catch
    {
        Output = String.Empty;
        return false;
    }
}