Tag: hresult

如何在不同的IOExceptions之间以编程方式区分?

我正在为写入Process对象的StandardInput流的代码执行一些exception处理。 进程有点像unix head命令; 它只读取部分输入流。 当进程终止时,写入线程失败: IOException The pipe has been ended. (Exception from HRESULT: 0x8007006D) 我想捕获这个exception,让它优雅地失败,因为这是预期的行为。 但是,对我而言,如何将其与其他IOExceptions进行强有力的区分并不明显。 我可以使用消息,但我理解这些是本地化的,因此这可能不适用于所有平台。 我也可以使用HRESULT,但我找不到任何指定此HRESULT仅适用于此特定错误的文档。 这样做的最佳方式是什么?

.NET Standard是否在其支持的每个平台上规范化HResult值?

我正在创建一个创建随机文件的简单函数。 为了线程安全,它在重试循环中创建文件,如果文件存在,则再次尝试。 while (true) { fileName = NewTempFileName(prefix, suffix, directory); if (File.Exists(fileName)) { continue; } try { // Create the file, and close it immediately using (var stream = new FileStream(fileName, FileMode.CreateNew, FileAccess.Write, FileShare.Read)) { break; } } catch (IOException e) { // If the error was because the file exists, try again if ((e.HResult […]

来自HRESULT的exception:0x80131047

每当我尝试调试我的项目时,我遇到此问题: 这是法语,这里是“我的”翻译: “尝试运行项目时出错:加载程序集失败”DBZ buu的Fury文本编辑器“或其中一个依赖项。给定的程序集名称或代码库无效。(HRESULTexception:0x80131047)” 有人可以帮我吗? 谢谢,奥马尔