问题标签 [nested-exceptions]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - 如何打印嵌套循环的异常?
我想打印从内部尝试到外部尝试捕获的所有异常语句。有没有办法在不改变内部 try-catch 块的情况下做到这一点
junit5 - Junit5:预期嵌套异常
JUnit 5 如何允许检查嵌套异常?我正在寻找类似于在 JUnit 4 中借助 a 可以完成的事情@org.junit.Rule
,如以下代码段所示:
根据评论编辑:
Assertions.assertThrows(LazyInitializationException.class)
在 JUnit 5 中不起作用,LazyInitializationException
因为JpaSystemException
.
只能检查外部异常,这不能按预期工作:
c++ - std::nested_exception 和多态性 - 这是可以做到的最好的吗?
std::nested_exceptions
当你想要做的只是调用时很好what()
,但是访问其他异常类型的接口变得丑陋。
让我们假设我有两个存储一些附加信息的异常类:
如果没有嵌套异常,我们可以访问 try/catch 块中的成员变量:
但是如果我们想解开 a std::nested_exception
,事情就不那么简单了。我们需要定义一个将被递归调用的函数,它应该如下所示:
不幸的是,为了处理最顶层的异常,我们不能使用代码块 2 中的 try/catch 语法:如果我们重新抛出 e,它将被截断为 std::exception,我们将丢失所有附加信息。编辑:如果使用 std::rethrow_exception 和 std::exception_ptr 则不正确。
所以我们回到了 good-ole 动态类型检查的问题,以及它所需要的一切(参见这个例子)。
从具有所需接口的公共基类中派生所有异常。这包括像访问者模式这样的方法。这很简洁,但如果异常类是由外部库提供的,那就不好了。
使用 dynamic_cast:
???
我唯一的选择似乎诉诸于 2。如果有任何其他建议,我很想听听。