我的WP8應用程序在導航到系統托盤時會在幾秒鐘內顯示一條消息。但是我用來顯示消息的以下方法總是拋出一個System.NullReferenceException:對象引用未設置爲對象的實例。 我很困惑這是爲什麼,也許有人可以指出什麼是錯的? 的代碼是:空引用異常正在運行系統托盤消息WP8
private void runSystrayMessage(bool isVisible, string text, int length)
{
try
{
SystemTray.ProgressIndicator.IsVisible = true;
SystemTray.ProgressIndicator.IsIndeterminate = isVisible;
SystemTray.ProgressIndicator.Text = text;
}
catch (Exception e)
{
Debug.WriteLine("Exception caught" + e);
}
DispatcherTimer timer = new DispatcherTimer();
try
{
timer.Interval = TimeSpan.FromMilliseconds(length);
}
catch(ArgumentOutOfRangeException e)
{
Debug.WriteLine("ArgumentOutOfrangeException caught" + e);
}
timer.Tick += (sender, args) =>
{
try
{
SystemTray.ProgressIndicator.IsVisible = false;
}
catch(System.InvalidOperationException e)
{
Debug.WriteLine("InvalidOperationException caught" + e);
}
timer.Stop();
};
timer.Start();
}
完整異常消息是:
System.NullReferenceException:對象不設置爲一個對象的一個實例。
at ContosoSocial.StartPage。 <> c__DisplayClass1.b__0(對象發件人,EventArgs參數)
在MS.Internal.CoreInvokeHandler.InvokeEventHandler(的Int32 typeIndex,代表handlerDelegate,對象發件人,對象參數)
在MS.Internal.JoltHelper.FireEvent( IntPtr的unmanagedObj,IntPtr的unmanagedObjArgs,的Int32 argsTypeIndex,的Int32 actualArgsTypeIndex,字符串eventName的)
你爲什麼要捕捉這些例外?你基本上忽略了它們。如果其中一個例外意味着什麼是錯誤的呢? – 2014-09-01 02:54:48
嘗試使用調試器 – 2014-09-01 03:26:57