623得票13回答
`throw new Error`和`throw someObject`有什么区别?

我想编写一个通用的错误处理器,它可以捕获代码的任何实例中故意抛出的自定义错误。 当我像以下代码中那样执行throw new Error('sample')try { throw new Error({'hehe':'haha'}); // throw new Error('h...

343得票11回答
从构造函数中抛出异常

我正在和一位同事就从构造函数中抛出异常进行辩论,想要听取一些反馈意见。 从设计的角度来看,从构造函数中抛出异常是否可以接受? 比如说,我正在将一个POSIX互斥锁封装在一个类中,它会像这样:class Mutex { public: Mutex() { if (pthread_...

156得票7回答
为什么我不能在Promise.catch处理程序中抛出错误?

为什么我不能在catch回调函数中抛出Error,让进程像在其他任何作用域中一样处理错误呢?如果我不执行console.log(err),就什么都不会打印出来,我也不知道发生了什么。进程就会结束...示例:function do1() { return new Promise(func...

136得票14回答
我应该在C++中使用异常说明符吗?

在 C++ 中,您可以使用异常说明符指定函数可能或不可能抛出异常。例如:void foo() throw(); // guaranteed not to throw an exception void bar() throw(int); // may throw an exception of...

131得票7回答
C++中的异常是如何工作的(幕后)?

我经常看到人们说异常很慢,但我从未见过任何证据。所以,我不会问它们是否慢,而是问异常在幕后如何工作,以便我可以决定何时使用它们以及它们是否慢。 据我所知,异常与多次返回相同,只是每次返回后还会检查是否需要再次返回或停止。当它检查何时停止返回时,它是如何做到的呢?我猜测有第二个堆栈保存异常类型...

117得票4回答
在C++中,如果throw是一个表达式,它的类型是什么?

我在 Reddit 上的一个短暂探索中发现了这篇文章: http://www.smallshire.org.uk/sufficientlysmall/2009/07/31/in-c-throw-is-an-expression/ 基本上,作者指出在C++中:throw "error" 是一...

113得票3回答
C++03的`throw()`说明符和C++11的`noexcept`有什么区别?

throw()和noexcept除了分别在运行时和编译时进行检查之外,还有什么区别吗? 这篇维基百科的C++11文章建议C++03的抛出限定符已经过时。 为什么会这样...noexcept是否足够在编译时覆盖所有内容? 注意:我检查了这个问题和这篇文章,但无法确定它被弃用的确切原因。

95得票3回答
C#中是否有像Java中的throws关键字?

可能是重复问题: 如何在C#中使用类似Java的throws关键字? 我有一个函数,在其中会发生异常,举个例子:private void functionName() throws Exception { // some code that might throw an...

89得票7回答
T-SQL抛出异常

在使用T-SQL存储过程中,我遇到了著名的“语法不正确”错误,原因是我使用了THROW语句。我已经搜索了谷歌并查看了StackOverflow上的问题,但是提出的解决方案(奇怪地被接受)对我无效。 我正在修改一个存储过程,如下所示:ALTER PROCEDURE [dbo].[CONVERT...

84得票8回答
何时捕获异常,何时抛出异常?

我一直在编写Java代码。但有时候,我不知道应该何时抛出异常、何时捕获异常。我正在处理一个有很多方法的项目。层次结构如下:Method A will call Method B and Method B will call some Method C and Method C will cal...