/
githubmirror
/
bitcoin
Обзор
Документация
Войти
/
githubmirror
/
bitcoin
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
v31.0
src/util/exception.cpp
41 строка
1 KB
stickies-v
logging: use util/log.h where possible
02 фев 2026, 20:22
02 фев 2026, 20:22
37cc2a2
Код
Авторство
О чём код?
// Copyright (c) 2009-2010 Satoshi Nakamoto // Copyright (c) 2009-present The Bitcoin Core developers // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. #include <util/exception.h> #include <tinyformat.h> #include <util/log.h> #include <exception> #include <iostream> #include <string> #include <typeinfo> #ifdef WIN32 #include <windows.h> #endif // WIN32 static std::string FormatException(const std::exception* pex, std::string_view thread_name) { #ifdef WIN32 char pszModule[MAX_PATH] = ""; GetModuleFileNameA(nullptr, pszModule, sizeof(pszModule)); #else const char* pszModule = "bitcoin"; #endif if (pex) return strprintf( "EXCEPTION: %s \n%s \n%s in %s \n", typeid(*pex).name(), pex->what(), pszModule, thread_name); else return strprintf( "UNKNOWN EXCEPTION \n%s in %s \n", pszModule, thread_name); } void PrintExceptionContinue(const std::exception* pex, std::string_view thread_name) { std::string message = FormatException(pex, thread_name); LogWarning("\n\n************************\n%s", message); tfm::format(std::cerr, "\n\n************************\n%s\n", message); }