用户代码未处理的异常

时间:2014-05-07 13:03:17

标签: c# exception object windows-phone-8

我在我的应用程序的主页面上声明了一个库的成员:

private OpticalReaderLib.OpticalReaderTask _task = new OpticalReaderLib.OpticalReaderTask();

它工作正常,直到我想在不同的时间导航回此页面。它会出现错误"类型' System.Exception'发生在OpticalReaderLib.DLL中,但未在用户代码"。

中处理

有谁知道为什么会这样?

感谢。

2 个答案:

答案 0 :(得分:1)

System.Exception是所有异常的基类,因此这是一个非常通用的错误消息。

您可以尝试记录有关在调查过程中引发的异常的更多详细信息(例如exception.Message或exception.InnerException)。 (通过try-catch声明)。

看起来你正在初始化一个字段,这个代码在哪里被执行?


因评论而更新 作为发现异常错误的临时解决方案。

    private OpticalReaderLib.OpticalReaderTask _tempTask;
    private OpticalReaderLib.OpticalReaderTask _task
    {
        get
        {
            //code to debug the error that is occuring
            try
            {
                if (_tempTask == null)
                    _tempTask = new OpticalReaderLib.OpticalReaderTask();
                else
                    return _tempTask;
            }
            catch (Exception exception)
            {
                //Log the exception detail here 
            }
        } 
    }

答案 1 :(得分:0)

  protected override void OnBackKeyPress(System.ComponentModel.CancelEventArgs e)
  {
    if (_task != null) 
    { 
      _task.Completed -= OpticalReaderTask_Completed; 
      _task.Dispose(); 
      _task = null; 
    } 
    base.OnBackKeyPress(e);
  }