Handling fatal exceptions in ViewModel/Model

后端 未结 2 1161
执念已碎
执念已碎 2021-02-13 17:56

I have an application written using the M-V-VM approach.

The data access is done in the Model. If a fatal error occurs here (for example, the connection to the data sour

2条回答
  •  臣服心动
    2021-02-13 18:22

    You could queue an exception-throwing action on the dispatcher.

        // This property is connected to the window using databinding
        public string ExceptionThrowingBoundedField
        {
            get
            {
    
                try
                {
                    // This function might throw an exception
                    return GetValueFromDatabase();               
                }
                catch (Exception ex)
                {
                    ApplicationException exWrapper = new ApplicationException(
                        "Wrapped Exception",                                                     
                         ex
                    );
                    Action throwException = () => { throw exWrapper; };
                    Dispatcher.CurrentDispatcher.BeginInvoke(throwException);
                    return "";
                }
            }
        }
    

提交回复
热议问题