Dans mon code d'initialisation App(), j'inclure un gestionnaire génériqueComment se remettre d'une Silverlight UnhandledException
UnhandledException += Application_UnhandledException;
private void Application_UnhandledException(object sender, ApplicationUnhandledExceptionEventArgs e)
{
Debugger.Break();
}
J'ai 2 écrans qui fonctionnent bien, mais lors de la navigation de retour rapidement et vient entre les deux écrans un nombre de fois (varie entre 7 et 12) je frappe ce point d'arrêt à l'exception
{System.Windows.ApplicationUnhandledExceptionEventArgs} base {System.EventArgs}: {System.Windows.ApplicationUnhandledExceptionEventArgs}
ExceptionObject: {System.ArgumentException: Value does not fall within the expected range.}
Handled: false
et si je retire le UnhandledException et mis le Debugger pour briser le unhandled, je reçois les éléments suivants:
Unhandled Error in Silverlight Application
Code: 4004
Category: ManagedRuntimeError
Message: System.Windows.Markup.XamlParseException: 2028 An error has occurred. [Line: 0 Position: 0] ---> System.ArgumentException: [Arg_ArgumentException]
Arguments: Debugging resource strings are unavailable.
Often the key and arguments provide sufficient information to diagnose the problem.
See http://go.microsoft.com/fwlink/?linkid=106663&Version=4.0.60531.0&File=mscorlib.dll&Key=Arg_ArgumentException
at MS.Internal.XcpImports.CheckHResult(UInt32 hr)
at MS.Internal.XcpImports.Collection_AddValue[T](PresentationFrameworkCollection`1 collection
même si je définis e.handled = true
, mon application se bloque.
Note importante:
L'application, dans un cadre MVVM travaille plus de 99,9% du temps, naviguer entre des dizaines d'écrans. Un seul utilisateur a déclaré être en mesure de bloquer l'application en naviguant rapidement entre les deux écrans, et seulement après environ 10 avant et en arrière tente
Mes questions sont les suivantes:
Toute façon de déterminer ce qui est à l'origine?
Un moyen de l'empêcher?
Quelle est la meilleure façon de récupérer à partir de cette erreur?
Cela m'a aidé aussi, très bizarre. – deafsheep
Wow ... Je me suis cogné la tête sur ce même problème pendant quelques jours. J'étais sûr que c'était bizarre de refactoriser une mise en page dans un UserControl et/ou de régler correctement les bindings. Tout ce qui était nécessaire était de mettre le 'x: Name' sur la vue parent (sur l'élément qui référence le nouveau UserControl) et l'exception non gérée disparaît. – JaredReisinger
STRANGE ... mais ça marche :) – Khurram