std :: terminate with disable exceptions(MSVC实现)

时间:2018-06-30 12:06:18

标签: c++ visual-c++ terminate

从带有禁用异常的已编译代码中调用const row = $(this).closest('tr'); const test_name = row.find('td[name="name1"]').text(); ,我注意到gcc和msvc的行为有所不同。在第一种情况下,程序按照我的预期中止了,而在第二种情况下,什么也没发生(程序继续执行)。

事实证明,当未设置_HAS_EXCEPTIONS宏时,msvc为终止功能提供了虚拟实现:

std::terminate()

Visual Studio 2017版本15.7.2

cppreference说:

  

std :: terminate()也可以直接从程序中调用。

这是否意味着无论如何都必须调用中止/处理程序,而不取决于异常能力?

0 个答案:

没有答案