exception-handling相关内容
我创建了一个这样的自定义 Web API 全局异常处理程序: 公共类 MyGlobalExceptionHandler : ExceptionHandler{公共覆盖无效句柄(ExceptionHandlerContext上下文){//这里我全部处理,不管同步与否}公共覆盖任务HandleAsync(ExceptionHandlerContext上下文,CancellationToken 取消令
..
我面临的问题主要是异常处理!当发生异常时,我想将该数据与错误消息一起放在另一个日志表中.但是,在 DB2 中,我无法找到一种方法来检索引发的 SQLSTATE 的相应错误消息. PS:我有一个用于此迁移的存储过程,我没有使用任何其他语言来调用它. 我们可以通过 oracle 中的 SQLERRM 来做到这一点;可能它应该是一件小事,但由于一些奇怪的原因我还没有找到它! 希望您对此
..
我试图找出不同方法之间的权衡,以确定是否使用对象 obj 可以执行操作 do_stuff().据我了解,有三种方法可以确定这是否可行: #方式1如果是实例(obj,Foo):obj.do_stuff()#方式2如果有属性(obj,'do_stuff'):obj.do_stuff()# 方式 3尝试:obj.do_stuff()除了:print '做别的事' 首选方法是什么(为什么)? 解
..
if hasattr(obj, 'attribute'):# 做某事 对 尝试:# 访问 obj.attribute除了 AttributeError,e:# 处理 AttributeError 应该首选哪个以及为什么? 解决方案 hasattr 在内部快速执行与 try/except 块相同的任务:这是一个非常具体的,经过优化的单任务工具,因此在适用时应优先于非常通用的替代方案.
..
我正在使用带有 c# 的企业库 5.0 进行异常处理,为此我正在使用格式化程序.现在在我的日志文件中,时间戳没有给出正确的时间.我可以在格式化程序中更改时间戳的值吗? 解决方案 Timestamp: {timestamp(local)} 将获取本地系统时间
..
我刚刚偶然发现了 segvcatch 库,它承诺包装 segfaults并将浮点错误转换为适当的异常. 使用这个库是安全的,如果我添加所有捕获的段错误将只是空指针访问的前提条件(即,没有数组溢出或无效指针可能在段错误之前完全搞砸内存,无论如何都会导致未定义的行为)?捕获 nullptr 段错误后,程序是否仍具有定义的语义?浮点错误呢?他们表现得更好/不同吗? 旁注:请不要发表任何评论,
..
我正在包装一些 C 库,并且我有一个函数在某些情况下可能会导致分段错误.在这种情况下,我需要调用第二个函数,这将在这种情况下成功完成. 有谁知道如何处理 cython 中的分段错误? 解决方案 一个可能有帮助的简短示例(使用 signal): example.h(假设 Cython 扩展名为 myext.pyx) //声明“公共 api"函数时由 Cython 自动生成的标头
..
在下面的代码中,在第一次迭代中出现异常,在第二次迭代中出现分段错误,没有打印任何错误消息.似乎没有捕获到异常: int i = 0;而(i++ try/catch,旨在捕获软件引发异常.它们都称为异常,但它们起源于系统软件/硬件的不同级别. 从技术上讲,您可以使用 SIGSEGV 的信号处理程序来捕获段错误.但是,正如 Ivaylo 解释的那样,如果您遇到段错误,通常不允许“重试".SIGSE
..
我基于一个有缺陷的开源库编写了一个 Linux 程序.这个库有时会触发我无法控制的段错误.当然,一旦库出现段错误,整个程序就会死掉.但是,即使库有段错误,我也必须确保我的程序继续运行.这是因为我的程序有点像“服务器",它至少需要告诉客户发生了一些不好的事情并从错误中恢复,而不是退缩......有什么办法吗? 我理解在 Java 中只需要捕获一个异常.但是 C++ 是如何处理这个问题的呢?
..
如果出现 Segmentation Fault 错误,是否可以恢复 C 程序的正常执行流程? 结构 A {诠释 x;};A* a = 0;a->x = 123;//这是发生分段违规的地方//处理完错误后我想回到这里:printf("正常执行");//我的源代码的其余部分.... 我想要一种类似于 Java、C# 等中存在的 NullPointerException 的机制. 注意:请不要
..
我有一个使用 MSVS2005 创建的 MFC 驱动的基于对话框的应用程序.这是我的问题一步一步.我的对话框和相应的点击处理程序上有按钮,代码如下: int* i = 0;*i = 3; 我正在运行调试版本的程序,当我单击按钮时,Visual Studio 捕捉焦点并警告“访问冲突写入位置"异常,程序无法从错误中恢复,我所能做的就是停止调试.这是正确的行为. 现在我在 OnInitDia
..
我的应用程序在初始化时崩溃的测试仪出现问题.我添加了更多的日志记录和异常处理,但它仍然崩溃并显示通用的“此程序已停止工作"消息,而不是触发我的错误处理. 鉴于我的 main() 看起来像这样并且有 catch(...) 在什么情况下不会触发? 尝试{simed::CARmApp 应用程序(0,cmd);for(bool done = false;!done;){完成 = !app.fram
..
最近我参加了 Jeffrey Richter 的 .NET 培训课程.他提到了一种编码策略“死是真棒".也就是说,即使在程序或事件循环的根部也不要写“catch (Exception ex)".如果抛出了一些未处理的异常,就让进程死掉. 我不确定这是否正确.就个人而言,我更喜欢在执行的顶层使用“try {...} catch(Exception ex) {log and try to rec
..
我在运行源代码时创建了一个 vb.net 控制台应用程序,它可以正常工作.但是当我运行可执行文件时,它会抛出类似“System.TypeInitializationException 未处理"的异常.在我的应用程序中,我使用过 MCL PrinterMonitorComponent 我的代码是: 导入 PrinterQueueWatch进口 SpoolMonitoringIPC导入 Sy
..
我正在使用 Electrons 快速入门项目(提交 dbef48ee7d072a38724ecfa57601e39d36e9714e)来测试异常. 在 index.html 中,我将所需模块的名称从 renderer.js 更改为 rendererXXX.js. require('./renderer.js') 这会导致预期的异常(在该窗口的开发工具中可见): 未捕获的错误:找不到模块
..
下面脚本中的第 2 行生成 - “无法将值“System.Object[]"转换为类型“System.Xml.XmlDocument".错误:“'→',十六进制值 0x1A,是无效字符.第 39 行,第 23 位." 在 line:1 char:8+ [xml]$x
..
[我知道网上有 100 多个类似的问题,但我仍然无法找到解决此问题的有效解决方案,因此将其发布.] 我有一个 c# Win-Form 应用程序.该应用程序用于通过 FTP 从另一台服务器下载图像. 在任务调度程序的帮助下,应用程序每天运行 3 次并下载图像,然后自动关闭. 去年它运行良好,但是,自今年年初以来,我们收到了来自应用程序的“请求超时"或“操作超时"等未处理的异常.
..
是否可以在递归 C++ 函数中捕获 堆栈溢出异常?如果是,怎么办? 那么在这种情况下会发生什么 void doWork(){尝试() {做工作();}抓住( ... ) {做工作();}} 我不是在寻找特定操作系统的答案.只是一般 解决方案 这本身并不是一个例外,但是如果您只是希望能够将堆栈使用量限制在固定数量,您可以这样做: #include //这些将设
..
我已经在这个程序上工作了很长一段时间,我的大脑被炸了.我可以向正在查看的人寻求帮助. 我正在尝试制作一个逐行读取文本文件的程序,并且每一行都被制成一个 ArrayList 以便我可以访问每个令牌.我究竟做错了什么? import java.util.*;导入 java.util.ArrayList;导入 java.io.*;导入 java.rmi.server.UID;导入 java.ut
..
我正在开发一个基于 JSF 2.0 的 Web 应用程序.我正在尝试实现一个全局异常处理程序,只要发生任何异常(例如 NullPointerException、ServletException、ViewExpiredException 等),就会将用户重定向到通用错误页面 每当我的应用程序中发生 NPE 时,我的 customnavhandler 断点被命中并且 NavigationHand
..