0

我在visual studio(successfull)中构建了我的解决方案,我正在尝试运行它,但由于某种原因,在下面的代码行中它抛出了异常我看了几篇文章,但没有确切的解决方案如何处理

public static int GetCurrentPolicyClassId()
    {
        **int policyClassId = (int) HttpContext.Current.Session[AppConstants.SK_POLICYCLASSID];**
        return policyClassId;
    }
4

3 回答 3

3

您调用的链中的值之一是 null。您只需要在获取值之前进行检查:

if(HttpContext != null && 
   HttpContext.Current != null &&
   HttpContext.Current.Session != null &&
   HttpContext.Current.Session[AppConstants.SK_POLICYCLASSID] != null)
{
    // Get the value here.
}
else
{
    // Something was null. Either set a default value or throw an Exception
}
于 2012-08-02T14:56:22.527 回答
0

您可能应该检查是否HttpContext != null && HttpContext.Current != null && HttpContext.Current.Session != null

于 2012-08-02T14:57:32.343 回答
0

任何异常都由try/catch(或finally)处理,如果该异常通常可以处理。

例如StackOverflowException无法处理。

你需要:

  • 什么类型的异常是
  • 了解它的原因
  • 基于此确定该异常是否是您的应用程序中的异常行为
  • 如果是,则处理它try/catch是否程序需要处理它,或者让程序失败,因为收到的异常太危险了,最好让一切都失败。
  • 如果这不是异常行为,请尝试使用例如空检查或其他任何方式来处理它...

希望这可以帮助。

于 2012-08-02T14:58:01.800 回答