代码之家  ›  专栏  ›  技术社区  ›  Kirsten

如何返回InternalErrorResult?

  •  0
  • Kirsten  · 技术社区  · 5 年前

    我使用的是一个.Net核心API。 然而,没有什么方法可以做到这一点。

    目前我的基本控制器中有以下内容

    using System;
    using Microsoft.AspNetCore.Mvc;
    
    namespace MyApi.Controllers
    {
        public class BaseController : Controller
        {
            public IActionResult RouteInterfaceMethod<TResponse>(Func<TResponse> function)
            {
            //    try
            //    {
                    IActionResult res = null;
                    TResponse ret = function();
                    res = Ok(ret);
                    return res;
            //    }
            //    catch (Exception e)
            //    {
            //       var msg = MakeErrorMessage(e);
            //       return base.NotFound( msg);
            //    }
            }
        }
    }
    

    找到了一个可以替代uncomment()的代码

    1 回复  |  直到 5 年前
        1
  •  1
  •   Roman Marusyk S Kotra    5 年前

    您可以用这种方式返回InternalServerError

    catch (Exception e)
    {
       var msg = MakeErrorMessage(e);
       return StatusCode(HttpStatusCode.InternalServerError, msg);
    }
    

    或者只是重新抛出一个异常

     catch (Exception e)
     {
           var msg = MakeErrorMessage(e);
           throw;
     }