C# UWP XAML如何处理未处理的异常

C# UWP XAML如何处理未处理的异常,c#,xaml,uwp,C#,Xaml,Uwp,我有一个listview,我将该项插入listview。在插入项目“我的应用程序崩溃”和未处理的异常和错误“参数不正确”之间。我不知道这次坠机的确切地点。如何深入XAML未处理异常 var messages = obj.Messages; messages.Reverse(); AddMessagesToMessageList(openChatData, messages);

我有一个listview,我将该项插入listview。在插入项目“我的应用程序崩溃”和未处理的异常和错误“参数不正确”之间。我不知道这次坠机的确切地点。如何深入XAML未处理异常

                var messages = obj.Messages;
                messages.Reverse();
                AddMessagesToMessageList(openChatData, messages);
                if (obj.IsFirstTime && MessageList.Count > 0)
                {
                    ChatListSelectedIndex = -1;
                    SendFullAck();
                    await ScrollIntoViewWithDelayAsync(MessageList.Count - 1);
                }
                else if (MessageList.Count > 0)
                {
                    await ScrollIntoViewWithDelayAsync(messages.Count - 1);
                }

                if (obj.Messages.Count < 10)
                {
                    _isNoMoreChats = true;
                }
                CheckOpenChatDataRemainingMessages();
                _isDirty = false;



    private void AddMessagesToMessageList(AbstractChatData openChatData, 
    List<Message> messages)
    {
        try
        {
            ObjFactory.Instance.CreateLogger().Log("AddMessagesToMessageList Start", GetType().Name, false);
            foreach (var message in messages)
            {
                AddMessageToMessageList(openChatData, message, null);
            }
            ObjFactory.Instance.CreateLogger().Log("AddMessagesToMessageList End", GetType().Name, false);
        }
        catch (Exception ex)
        {
            ObjFactory.Instance.CreateLogger().Log("EX= " + ex.Message, GetType().Name);
        }
    }
var messages=obj.messages;
messages.Reverse();
AddMessagesToMessageList(openChatData,消息);
if(obj.IsFirstTime&&MessageList.Count>0)
{
ChatListSelectedIndex=-1;
SendFullAck();
等待ScrollInViewWithDelayAsync(MessageList.Count-1);
}
else if(MessageList.Count>0)
{
等待ScrollInViewWithDelayAsync(messages.Count-1);
}
如果(obj.Messages.Count<10)
{
_isNoMoreChats=true;
}
CheckOpenChatDataRemainingMessages();
_isDirty=false;
私有void AddMessagesToMessageList(AbstractChatData openChatData,
列表信息)
{
尝试
{
ObjFactory.Instance.CreateLogger().Log(“AddMessagesToMessageList Start”,GetType().Name,false);
foreach(消息中的var消息)
{
AddMessageToMessageList(openChatData,消息,空);
}
ObjFactory.Instance.CreateLogger().Log(“AddMessagesToMessageList End”,GetType().Name,false);
}
捕获(例外情况除外)
{
ObjFactory.Instance.CreateLogger().Log(“EX=“+EX.Message,GetType().Name”);
}
}


在构建XAML树时,此问题最常见。我建议尝试注释掉部分XAML代码,然后运行应用程序来查找有问题的部分。这很可能是由于使用了不允许的属性或嵌套造成的

您无法深入了解异常细节,因为它发生在生成的代码中,但是我同意,如果它更具描述性,它将非常有用


如果需要进一步帮助调查问题,可以发布XAML代码。

此问题最常见于构建XAML树时。我建议尝试注释掉部分XAML代码,然后运行应用程序来查找有问题的部分。这很可能是由于使用了不允许的属性或嵌套造成的

您无法深入了解异常细节,因为它发生在生成的代码中,但是我同意,如果它更具描述性,它将非常有用


如果需要进一步帮助调查问题,您可以发布XAML代码。

谢谢您的重播。。我将尝试在XAML中对代码进行注释,并尝试…我是否有任何工具可以帮助我们解决XAML问题?我通常认为注释方法最快。不确定在这种情况下是否有更好的替代方案。您还可以尝试注释代码背后的代码,以确保问题不会发生在那里。通常,未处理的错误最常发生在页面构造函数未能完成时。感谢您的重播。。我将尝试在XAML中对代码进行注释,并尝试…我是否有任何工具可以帮助我们解决XAML问题?我通常认为注释方法最快。不确定在这种情况下是否有更好的替代方案。您还可以尝试注释代码背后的代码,以确保问题不会发生在那里。通常,当页面构造函数未能完成时,最常发生未处理的错误。