ASP.NET Core 9应用在Visual Studio输出面板抛出大量无害异常的原因?
关于调试时第三方库异常日志的解答
这些异常是什么?
这些是第一次机会异常(First Chance Exception)——.NET调试器会在任何异常抛出时就记录这条信息,哪怕这个异常立刻被第三方库的内部代码捕获并处理了,根本不会传到你的应用代码里。
- 比如你看到的
Microsoft.Data.Sqlite.SqliteException,大概率是SQLite驱动在做初始化、文件检查这类操作时抛出的预期内异常,驱动自己已经处理了(比如自动创建缺失的数据库文件、重试操作); - 像
FileNotFoundException、FormatException这类,也是第三方库在执行逻辑时碰到了预设的错误场景,内部已经做了容错,不会影响应用正常运行。
需要担忧吗?
完全不需要。这些异常没有导致应用崩溃、功能失效,说明第三方库已经针对这些情况做了完善的错误处理,只是调试器默认会把所有抛出的异常都记录下来而已。
怎么减少这些日志干扰?
如果觉得这些信息影响调试,可以调整Visual Studio的设置:
- 打开「调试」→「Windows」→「异常设置」(快捷键Ctrl+Alt+E),取消勾选你不想跟踪的异常类型,或者只保留你自己代码可能抛出的异常;
- 在输出面板的下拉菜单里选择「仅显示我的代码」,过滤掉第三方库的调试日志。
内容的提问来源于stack exchange,提问作者Deane
相关产品推荐
相关产品推荐

