下面的代码捕获EOS异常

using (var reader = new BinaryReader(httpRequestBodyStream)) {

    try {
        while (true) {
            bodyByteList.Add(reader.ReadByte());
        }
    } catch (EndOfStreamException) { }
}

那么,为什么我的控制台中仍然会收到第一次机会异常呢?

"系统"类型的第一次机会例外.伊奥.在mscorlib中发生EndOfStreamException.动态链接库

有没有办法隐藏这些首次出现的异常消息?

推荐答案

"先发制人"异常的意义在于,您看到的是对它们进行预处理,以便您可以在调试过程中在抛出点停止处理它们."第二次机会"异常是指没有适当处理程序的异常.有时您希望捕获"先发制人"的异常,因为即使有人正在捕获它,查看抛出时发生的情况也很重要.

没什么好担心的.这是正常的行为.

.net相关问答推荐

尽管有`disable`注释,但未 suppress Pylint语法错误

";Make Async ValueTask/ValueTask方法分期分配发生了什么?

为什么Regex.Escape支持数字符号和空格?

PowerShell 5.1和7在使用证书时的区别

如何将 select 语句详细信息提取到不同的方法中仍然保持Eager 加载?

Azure SignalR 和微服务

即时窗口中的动态导致Microsoft.CSharp.RuntimeBinder.Binder未定义或导入错误

移位比Java中的乘法和除法更快吗? .网?

.NET - WindowStyle = hidden 与 CreateNoWindow = true?

在 web api 控制器(.net 核心)中使用 async/await 或任务

我什么时候应该在 C# 中使用使用块?

DBNull 的意义何在?

软件包版本始终为 1.0.0,带有 dotnet pack

如何在可取消的异步/等待中处理 TransactionScope?

是否有可用的 WPF 备忘单?

如何获得 Bin 路径?

了解 C# 中的协变和逆变接口

如何从 WCF REST 方法返回自定义 HTTP 状态代码?

Roslyn 编译代码失败

为什么 IList 不支持 AddRange