首页
学习
活动
专区
圈层
工具
发布
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    WPF程序在shutdown期间引发的TaskCanceledException

    软件收到大量用户报告TaskCanceledException 异常, 就是上面堆栈中的信息,有的公司一个月内达到了惊人的150k的异常数据。...我们的软件也在当月报了15k的异常。 诱因 原因来自于微软的18年6月预览版质量汇总补丁(KB 4229726),所以就是微软更新更炸了。...翻译过来就是 对于某些特定的.NET应用程序(注:目前仅影响WPF),在AppDomain或者进程关闭时,Finalizer线程的计时问题可能会引发异常。...影响范围 按官方文档解释,目前仅影响4.7.2上运行的部分WPF程序 解决方案 直接方案 这个补丁上线时,提供了一个开关。...该方案能够有助于缓解(alleviate)该问题, 而并不能消除(eliminate) 根本方案 1、清理代码中跨线程调用OnShutDown()方法 2、减少关闭期间Dispatcher的调用 参考链接: c#

    1.1K20

    WPF 类型的构造函数执行符合指定的绑定约束的调用时引发了异常

    本文告诉大家如果遇到类型“Foo.MainWindow”的构造函数执行符合指定的绑定约束的调用时引发了异常的时候可以如何知道是哪个不清真代码 在 WPF 开发中,如果遇到类型的构造函数执行符合指定的绑定约束的调用时引发了异常...CelakercalbochallhiNerjufeeqalchelfu.App.Main() 但是此时应该可以找到一些内部异常 很经常可以看到的内部异常有两个 “Foo.MainWindow”的类型初始值设定项引发异常...如果看到是这两个异常,那么请找到默认值类型与属性“Lindexi”类型不匹配里面说到的属性名对应的定义的代码,一般这个属性是依赖属性或附加属性 如我就逗比写了这段代码 public static

    2.8K20

    WPF 类型的构造函数执行符合指定的绑定约束的调用时引发了异常

    本文告诉大家如果遇到类型“Foo.MainWindow”的构造函数执行符合指定的绑定约束的调用时引发了异常的时候可以如何知道是哪个不清真代码 在 WPF 开发中,如果遇到类型的构造函数执行符合指定的绑定约束的调用时引发了异常...CelakercalbochallhiNerjufeeqalchelfu.App.Main() 但是此时应该可以找到一些内部异常 很经常可以看到的内部异常有两个 “Foo.MainWindow”的类型初始值设定项引发异常...如果看到是这两个异常,那么请找到默认值类型与属性“Lindexi”类型不匹配里面说到的属性名对应的定义的代码,一般这个属性是依赖属性或附加属性 如我就逗比写了这段代码 public static

    5.2K20

    WPF 如何在绑定失败异常

    在开发 WPF 程序,虽然 xaml 很好用,但是经常会出现小伙伴把绑定写错了。因为默认的 VisualStudio 是没有自动提示,这时很容易复制粘贴写出一个不存在的属性。...在 xaml 如果绑定失败了,那么内部会有一个异常,但是 WPF 不会把这个异常抛出来,这个异常也不会让用户拿到,只是会在输出窗口提示。...但是异常会影响性能,而且会让界面和设计的不一样,所以我就想在找到绑定异常就抛出,弹出窗口告诉小伙伴。 本文会告诉大家如何找到绑定失败,并且抛出异常,如何防止修改属性名让xaml绑定失败。...在绑定失败异常建议只在调试下抛出,抛出异常建议弹出,告诉开发者现在你的界面有绑定异常 拿到绑定信息 先来写简单的代码,做一个 ViewModel ,里面有两个属性 class ViewModel...is 'Text' (type 'String') 那么这个代码是否可以用来判断出现绑定失败,是的,让我来告诉大家如何拿到输出 转发绑定 因为绑定失败输出是使用 Trace ,关于 Trace 请看WPF

    1.7K20

    WPF 如何在绑定失败异常

    在开发 WPF 程序,虽然 xaml 很好用,但是经常会出现小伙伴把绑定写错了。因为默认的 VisualStudio 是没有自动提示,这时很容易复制粘贴写出一个不存在的属性。...在 xaml 如果绑定失败了,那么内部会有一个异常,但是 WPF 不会把这个异常抛出来,这个异常也不会让用户拿到,只是会在输出窗口提示。...但是异常会影响性能,而且会让界面和设计的不一样,所以我就想在找到绑定异常就抛出,弹出窗口告诉小伙伴。 本文会告诉大家如何找到绑定失败,并且抛出异常,如何防止修改属性名让xaml绑定失败。...在绑定失败异常建议只在调试下抛出,抛出异常建议弹出,告诉开发者现在你的界面有绑定异常 拿到绑定信息 先来写简单的代码,做一个 ViewModel ,里面有两个属性 class ViewModel...is 'Text' (type 'String') 那么这个代码是否可以用来判断出现绑定失败,是的,让我来告诉大家如何拿到输出 转发绑定 因为绑定失败输出是使用 Trace ,关于 Trace 请看WPF

    2.6K10

    C# 异常捕获

    本文内容:C# 异常捕获 ---- C# 异常捕获 1.编译错误与运行错误 2.进行异常捕获 ---- 1.编译错误与运行错误 在编写程序时,编译器会帮我们检查程序是否有错误,当我们改正之后,程序就可以编译了...---- 2.进行异常捕获 在程序运行时出现错误是很可怕的事,它们被称为bug,造成的影响有大有小,但是几乎都是恶性的。...而我们要说的异常捕获,就是为了在异常发生时执行解决办法。...异常捕获语句的语法格式如下: try { 异常的代码> } catch { 异常后执行的代码> } finally { 异常都要执行的代码(可选)> } catch...还可以写成catch(Exception e),其中e为捕获到的异常,我们可以通过e了解到异常的具体信息。

    1.9K10

    WPF 如何跨线程重新抛出异常

    有一些代码是在框架层写的,这部分代码不应该在后台线程抛出异常,如何将后台线程的异常在主线程抛出,同时不会带上主线程的堆栈可以保留异常的全部信息 在 .NET 提供了 ExceptionDispatchInfo...类,可以用于捕获某个异常,然后使用提供的抛出方法重新抛出 可以用在某个地方统一收集异常,然后统一抛出,此时抛出的异常的堆栈和信息都不会改变,会比下面的方法更好 public static...Exception exception) { throw exception; } 上面代码使用 throw 在另一个函数抛出,可以从堆栈看到,没有原先抛异常...KicaicicayiJearjelrelur.MainWindow.NalbibechaLuhaqayna() at KicaicicayiJearjelrelur.MainWindow..ctor() 这样进行异常调试就比较难知道是在哪个函数的异常...,特别是空异常 如果使用下面方法抛出,那么可以保存异常堆栈 private static void ReThrowException(Exception exception)

    1.2K10

    WPF 如何跨线程重新抛出异常

    有一些代码是在框架层写的,这部分代码不应该在后台线程抛出异常,如何将后台线程的异常在主线程抛出,同时不会带上主线程的堆栈可以保留异常的全部信息 在 .NET 提供了 ExceptionDispatchInfo...类,可以用于捕获某个异常,然后使用提供的抛出方法重新抛出 可以用在某个地方统一收集异常,然后统一抛出,此时抛出的异常的堆栈和信息都不会改变,会比下面的方法更好 public static...,特别是空异常 如果使用下面方法抛出,那么可以保存异常堆栈 private static void ReThrowException(Exception exception)...Dispatcher.InvokeAsync(() => { ExceptionDispatchInfo.Capture(exception).Throw(); }); } 代码放在 github 欢迎下载 在 WPF...框架我使用这个方法提了建议,在触摸线程的异常抛到主线程 详细请看 使用 ExceptionDispatchInfo 捕捉并重新抛出异常 - walterlv

    71820
    领券