exception-handling相关内容

在异常处理中显示行号

如何显示导致错误的行号,这是否可以通过 .NET 编译其 .exe 的方式实现? 如果没有,Exception.Message 是否有一种自动方式来显示被淘汰的子? 试试{int x = textbox1.Text;}捕获(异常前){MessageBox.Show(ex.Message);} 解决方案 使用 ex.ToString() 获取完整的堆栈跟踪. 即使在发布模式下,您也 ..
发布时间:2021-12-17 17:37:43 C#/.NET

是否可以在 .NET 中捕获访问冲突异常?

我能做些什么来捕捉AccessViolationException?它是由我无法控制的非托管 DLL 抛出的. 解决方案 你不应该.访问冲突是一个严重的问题:它是对无效内存地址进行写入(或读取)的意外尝试.正如约翰已经阐明的那样,在引发访问冲突之前,非托管 DLL 可能已经损坏了进程内存.这可能会对当前流程的任何部分产生不可预测的影响. 最安全的做法是尽可能通知用户然后立即退出. ..
发布时间:2021-12-17 17:37:06 C#/.NET

在 Java 中,如何使用 JUnit 验证抛出的异常?

在为 Java API 编写单元测试时,您可能希望对异常执行更详细的验证.IE.比 JUnit 提供的 @test 注释提供的更多. 例如,考虑一个类,它应该从其他接口捕获异常,包装该异常并抛出包装的异常.您可能需要验证: 引发包装异常的确切方法调用. 包装器异常将原始异常作为其原因. 包装器异常的消息. 这里的主要观点是您希望在单元测试中对异常进行额外的验证(而不是争论是否 ..
发布时间:2021-12-17 17:36:49 Java开发

如何在调用 .LoadXml() 之前检查字符串输入中的有效 xml

我更愿意这样做而不在 LoadXml() 中捕获异常并将此结果用作我的逻辑的一部分.关于不涉及自己手动解析 xml 的解决方案的任何想法?我认为 VB 对此函数的返回值为 false 而不是抛出 XmlException.Xml 输入由用户提供.非常感谢! if (!loaded){this.m_xTableStructure = new XmlDocument();尝试{this.m_xTab ..
发布时间:2021-12-17 17:36:13 C#/.NET

Visual Studio 2015 中断未处理的异常不起作用

Visual Studio 曾经有一个特定的复选框来“中断未处理的异常".2015 年,它已被删除(或移到我找不到的地方).所以现在如果我没有提供用户级异常处理程序,我转换后的项目不再中断.我不想打破所有“抛出的异常",因为我处理特定的异常.正是我未能提供特定处理程序的地方. 现在我的代码只是简单地退出当前过程并在下一个调用堆栈位置继续执行,不太好. 有人知道如何在 Visual St ..

.NET 中的 ApplicationException 是什么?

为了抛出异常,我通常使用内置的异常类,例如ArgumentNullException 和 NotSupportedException.但是,有时我需要使用自定义异常,在这种情况下我会写: class SlippedOnABananaException : 异常 { }类 ChokedOnAnAppleException :异常 { } 等等.然后我在我的代码中抛出并捕获这些.但是今天我遇到了 ..
发布时间:2021-12-17 17:33:18 C#/.NET

一个块中的多个尝试代码

我在 try 块中的代码有问题.为方便起见,这是我的代码: 尝试:编码一个代码 b #如果 b 失败,它应该忽略,并转到 c.代码 c #如果 c 失败,转到 d代码除了:经过 这样的事情有可能吗? 解决方案 你必须让这个单独 try块: 尝试:编码一个除了显式异常:经过尝试:代码 b除了显式异常:尝试:代码c除了显式异常:尝试:代码除了显式异常:经过 这假设您希望在 code b ..
发布时间:2021-12-17 17:32:53 Python

为什么 Java 人经常默默地消费异常?

我之前从未进行过任何认真的 Java 编码,但我根据我现有的技能(Delphi 和 C#)学习了语法、库和概念.我几乎不明白的一件事是,我看到了很多代码,它们在 printStackTrace 之后默默地消耗异常,如下所示: public void process() {尝试 {System.out.println("测试");} 捕获(异常 e){e.printStackTrace();}} ..
发布时间:2021-12-17 17:32:34 Java开发

如果我不是,谁在调用 Java Thread interrupt() 方法?

我已经阅读并重新阅读了实践中的 Java 并发,我已经阅读了有关该主题的几个主题,我已经阅读了 IBM 文章 处理 InterruptedException 但有些东西我根本没有掌握,我认为可以分为两个问题: 如果我自己从不中断其他线程,什么会触发InterruptedException? 如果我自己从来没有使用 interrupt() 中断其他线程(比如说因为我正在使用其他方法来取消 ..
发布时间:2021-12-17 17:32:23 Java开发

Windows 窗体应用程序中异常处理的最佳实践?

我目前正在编写我的第一个 Windows 窗体应用程序.我现在已经阅读了一些 C# 书籍,因此我对 C# 必须处理异常的语言特性有了比较好的了解.然而,它们都非常理论化,所以我还没有了解如何在我的应用程序中将基本概念转化为良好的异常处理模型. 有人愿意分享关于这个主题的任何智慧珍珠吗?发布您看到像我这样的新手所犯的任何常见错误,以及任何关于如何处理异常的一般建议,以使我的应用程序更加稳定和健 ..
发布时间:2021-12-17 17:31:06 C#/.NET

为什么我们需要“终于"?Python中的子句?

我不确定为什么我们需要 finally 在 try...except...finally 语句中.在我看来,这个代码块 尝试:运行代码1()除了类型错误:run_code2()其他代码() 与使用finally的这个相同: 尝试:运行代码1()除了类型错误:run_code2()最后:其他代码() 我错过了什么吗? 解决方案 早点回来会有区别: 尝试:运行代码1()除了类型错误: ..
发布时间:2021-12-17 17:30:58 Python

为什么在捕获异常时顺序很重要?

我不得不用一些代码来回答这个问题: 假设我编写了以下方法规范: public void handleData() 抛出 java.sql.SQLException, java.sql.SQLDataException 您正在为数据库编写代码将使用此方法的程序并且您想要处理每个具体来说.try/catch 子句应该是什么样的? 您可以使用 no-ops-- empty blocks ..
发布时间:2021-12-17 17:30:20 Java开发

在其消费者中处理生成器异常

这是处理生成器中抛出的异常的后续内容,并讨论了一个更普遍的问题.> 我有一个函数可以读取不同格式的数据.所有格式都是面向行或记录的,并且对于每种格式都有一个专用的解析函数,作为生成器实现.所以主读取函数获得一个输入和一个生成器,后者从输入中读取其各自的格式并将记录传送回主函数: def read(stream, parsefunc):在 parsefunc(stream) 中记录:do_stu ..
发布时间:2021-12-17 17:29:59 Python

异常与 throws 子句不兼容的原因是什么?

谁能告诉我异常可能有什么原因,与“throws"子句不兼容 例如: class Sub extends Super{@覆盖void foo() 抛出异常{}}类超级{void foo() 抛出 IOException{}} Exception Exception 与 Super.foo() 中的 throws 子句不兼容 解决方案 没有完整的代码示例,我只能猜测:你在子类中重写/ ..
发布时间:2021-12-17 17:29:32 Java开发

尝试抓住最后的问题

在 Try Catch finally 块中,finally 块是无论如何都会执行,还是仅当 catch 块不返回错误时才执行? 我的印象是,finally 块只有在 catch 块无错误通过时才会执行.如果catch块因为错误而被执行,是不是应该一起停止执行并返回错误信息? 解决方案 不仅 finally 块会在 catch 块之后执行,try 甚至不需要捕获任何异常来执行 fin ..
发布时间:2021-12-17 17:29:23 C#/.NET