如何捕捉异常'ex'给出http响应

本文关键字:http 响应 给出 ex 何捕捉 异常 | 更新日期: 2023-09-27 18:13:19

我想捕获前。所以,我可以返回错误代码值

有人能帮我吗?

public string Decrypt(string cipherText, string sid)
{
    RNCryptor.Decryptor D = new Decryptor();
    string DecryptedString = "";
    int errcode = 0;
    if (Prod == false)
    {
        DecryptedString = cipherText;
    }
    else
    {
    try
    {
        DecryptedString = D.Decrypt(cipherText, sid + SigningKey);
    }
    catch (Exception ex)
    {
        // i want to return errcode 601 to give my response to HTTP
    }
    }
    return DecryptedString.Trim();
}
这是我的另一个代码:
if (ErrCode < 0)
{
    string errMessage = "Decrypt error";
    return Content((HttpStatusCode)(ErrCode * (-1)),errMessage);
}

这是我的解密方法使用的地方

public dynamic GetPikachu(string sid, FormDataCollection form)
    {
        string StrPikachu = Decrypt(form.Get("pikachu"), sid);
        return JsonConvert.DeserializeObject<dynamic>(StrPikachu);
    }

如何捕捉异常'ex'给出http响应

在Decrypt方法中做你想做的最简单的方法是抛出:

throw new HttpResponseException((HttpStatusCode)601);

然而最简单的往往不是正确的方法。你可以修改:

public string Decrypt(string cipherText, string sid)

bool TryDecrypt(string cipherText, string sid, out string result)

,在异常处理程序中返回false。然后在控制器中处理该值