Почему я не могу запечатлеть Glib :: Исключение ошибки в Glibmm-2.4?C++

Программы на C++. Форум разработчиков
Ответить
Anonymous
 Почему я не могу запечатлеть Glib :: Исключение ошибки в Glibmm-2.4?

Сообщение Anonymous »

У меня есть этот кусок кода < /p>
#include
#include

// # foo.ini
// [main]
// activated="yes"
//
// [foo]
// foo="hello"
// bar=true
// zar=1234
// deps=foo;bar;tar

int main(void)
{
Glib::KeyFile keyfile;

keyfile.load_from_file("foo.ini");
try {
keyfile.get_string("foo", "bad");
} catch (const Glib::Error& e) {
std::cerr
двоичный файл связан с Glibmm-2.4 Abi, реальная версия-Glibmm-2.66 (из репозиториев Archlinux) < /p>
➜ cpplab ldd build/Debug/cpplab | grep glibmm
libglibmm-2.4.so.1 => /usr/lib/libglibmm-2.4.so.1 (0x00007d0e87510000)

https://archlinux.org/packages/extra/x86_64/glibmm/
Я действительно не могу понять, что происходит, конвертеррор расширяет Gerror (как и все другие исключения Glibmm). Мне нужно запечатлеть эти исключения, потому что информация .What () полезна, а ошибка: завершение называется после того, как выбросил экземпляр «Glib :: ConverterRor '< /code> полностью бессмысленна как сообщение об ошибке < /p>

для воспроизведения проблемы: < /p>
  • Запустить Build/cpplab
cmakelists.txt
cmake_minimum_required(VERSION 3.10..4.0)
project(cpplab CXX)

set(CMAKE_CXX_STANDARD 23)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
set(CMAKE_CXX_EXTENSIONS OFF)
set(CMAKE_EXPORT_COMPILE_COMMANDS ON)

add_compile_options(-Wall)
add_executable(cpplab src/main.cpp)

find_package(PkgConfig REQUIRED)
pkg_check_modules(GLIBMM REQUIRED glibmm-2.4)
target_include_directories(cpplab PRIVATE ${GLIBMM_INCLUDE_DIRS})

target_link_libraries(cpplab
PRIVATE
${GLIBMM_LIBRARIES}
)


Подробнее здесь: https://stackoverflow.com/questions/797 ... glibmm-2-4
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C++»