簡體   English   中英

不完整的堆棧跟蹤信息

[英]Incomplete stack trace information

由於某種原因,當拋出 NullReferenceException 時,堆棧跟蹤僅指向throw; 堆棧跟蹤中的行,並且不包括拋出異常的 try 塊中的行。 這個 try catch 塊不應該保留堆棧跟蹤嗎? 在某些晦澀的情況下,catch 塊會在(准)生產服務器上引發 NullReferenceException(對象引用未設置為對象的實例)。

據我了解, try{doSomething();}catch(Exception){throw;}語句應該保留堆棧跟蹤。

try
{
   Int32 fallbackLCID = 2057; // Default to English for missing translations (was: (await _personalisationRepository.GetOrganisationById(ec.OrganisationId)).LCID)
   HRo.Data.KeyConcept kc = await _localizationRepository.GetKeyConcept(keyConceptId, originalValues, fallbackLCID, ec, token);
   keyConcept = AutoMapper.Mapper.Map<Domain.KeyConcept>(kc);

   // When there are only key concepts, other system texts or comments in the system text's value, replace them
   if (NeedsFacadeTagReplacement(keyConcept.Value))
      keyConcept.Value = await ReplaceFacadeTags(keyConcept.Value, ec, token);
}
catch (Exception)
{
#if DEBUG
   return new KeyConcept { Id = 0, Value = String.Format("!- KEY CONCEPT: {0} -!", keyConceptId) };
#else
   throw;
#endif
}

堆棧跟蹤中的第一行(從頂部開始)是 HRo.Domain.LocalizationFacade.d__7.MoveNext() in C:\Source\Repos\UIDeploy\Dll-projects\Model\Facade\LocalizationFacade.cs:line 148 Line 148是上面的 throw 語句。 為什么堆棧跟蹤不提供有關在 try 塊中引發異常的位置的信息?

完整的堆棧跟蹤:

at HRo.Domain.LocalizationFacade.d__7.MoveNext() in C:\Source\Repos\UIDeploy\Dll-projects\Model\Facade\LocalizationFacade.cs:line 148
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at HRo.Domain.LocalizationFacade.d__6.MoveNext() in C:\Source\Repos\UIDeploy\Dll-projects\Model\Facade\LocalizationFacade.cs:line 119
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at HRo.Util.AsyncHelper.RunSync[TResult](Func`1 func) in C:\Source\Repos\UIDeploy\Dll-projects\Foundation\Util\AsyncHelper.cs:line 26
at HelperMethods.Infrastructure.CustomHelpers.GetKeyConcept(HtmlHelper htmlHelper, Int32 keyConceptId) in C:\Source\Repos\UIDeploy\WebUI\HRoHelpers\CustomHelpers.cs:line 0
at ASP._Page_Views_Shared__LayoutPublic_cshtml.Execute() in c:\inetpub\wwwroot\hro-test\hro.accept\Views\Shared\_LayoutPublic.cshtml:line 9
at System.Web.WebPages.WebPageBase.ExecutePageHierarchy()
at System.Web.Mvc.WebViewPage.ExecutePageHierarchy()
at System.Web.WebPages.WebPageBase.ExecutePageHierarchy(WebPageContext pageContext, TextWriter writer, WebPageRenderingBase startPage)
at System.Web.WebPages.WebPageBase.<>c__DisplayClass40_0.b__0(TextWriter writer)
at System.Web.WebPages.WebPageBase.Write(HelperResult result)
at System.Web.WebPages.WebPageBase.RenderSurrounding(String partialViewName, Action`1 body)
at System.Web.WebPages.WebPageBase.PopContext()
at System.Web.Mvc.ViewResultBase.ExecuteResult(ControllerContext context)
at System.Web.Mvc.ControllerActionInvoker.InvokeActionResultFilterRecursive(IList`1 filters, Int32 filterIndex, ResultExecutingContext preContext, ControllerContext controllerContext, ActionResult actionResult)
at System.Web.Mvc.ControllerActionInvoker.InvokeActionResultFilterRecursive(IList`1 filters, Int32 filterIndex, ResultExecutingContext preContext, ControllerContext controllerContext, ActionResult actionResult)
at System.Web.Mvc.ControllerActionInvoker.InvokeActionResultFilterRecursive(IList`1 filters, Int32 filterIndex, ResultExecutingContext preContext, ControllerContext controllerContext, ActionResult actionResult)
at System.Web.Mvc.ControllerActionInvoker.InvokeActionResultFilterRecursive(IList`1 filters, Int32 filterIndex, ResultExecutingContext preContext, ControllerContext controllerContext, ActionResult actionResult)
at System.Web.Mvc.ControllerActionInvoker.InvokeActionResultWithFilters(ControllerContext controllerContext, IList`1 filters, ActionResult actionResult)
at System.Web.Mvc.Async.AsyncControllerActionInvoker.<>c__DisplayClass3_1.b__1(IAsyncResult asyncResult)

代碼在 Asp.Net 4.7 下運行

你能檢查以下幾行嗎? 我猜其中之一應該是異常根:

  1. C:\Source\Repos\UIDeploy\Dll-projects\Model\Facade\LocalizationFacade.cs:119 行
  2. C:\Source\Repos\UIDeploy\Dll-projects\Foundation\Util\AsyncHelper.cs:第 26 行
  3. C:\Source\Repos\UIDeploy\WebUI\HRoHelpers\CustomHelpers.cs:line 0
  4. c:\inetpub\wwwroot\hro-test\hro.accept\Views\Shared_LayoutPublic.cshtml:line 9

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM