packages feed

haskell-igraph-0.8.5: igraph/include/igraph_handle_exceptions.h

#ifndef IGRAPH_HANDLE_EXCEPTIONS_H
#define IGRAPH_HANDLE_EXCEPTIONS_H

#include <exception>
#include <new>

#define IGRAPH_HANDLE_EXCEPTIONS(code) \
    try { code; } \
    catch (const std::bad_alloc &e) { IGRAPH_ERROR(e.what(), IGRAPH_ENOMEM); } \
    catch (const std::exception &e) { IGRAPH_ERROR(e.what(), IGRAPH_FAILURE); } \
    catch (...) { IGRAPH_ERROR("Unknown exception caught", IGRAPH_FAILURE); }


#endif // IGRAPH_HANDLE_EXCEPTIONS_H