LILAC
Language to language Interop LAyer Compiler
Loading...
Searching...
No Matches
exception.h
Go to the documentation of this file.
1/*
2 * Copyright (C) 2024 Yeong-won Seo
3 *
4 * This file is part of LILAC.
5 *
6 * LILAC is free software: you can redistribute it and/or modify it under
7 * the terms of the GNU General Public License as published by the Free
8 * Software Foundation, either version 3, or (at your option) any later
9 * version.
10 *
11 * LILAC is distributed in the hope that it will be useful, but WITHOUT ANY
12 * WARRANTY; without even the implied warranty of MERCHANTABILITY or
13 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
14 * for more details.
15 *
16 * You should have received a copy of the GNU General Public License
17 * along with this program. If not, see <https://www.gnu.org/licenses/>.
18 */
19
20#pragma once
21
22#include <string>
23#include <frxml.h>
24
25namespace lilac::shared
26{
27 class exception final : public std::exception
28 {
29 const frxml::dom& m_DOM;
30 std::string m_Message;
31
32 public:
33 exception(std::string msg, const frxml::dom& dom) noexcept;
34
35 [[nodiscard]]
36 const char* what() const noexcept override;
37
38 void print() const;
39
40 void print(const frxml::dom& location) const;
41 };
42}
const char * what() const noexcept override
Definition exception.cxx:29
exception(std::string msg, const frxml::dom &dom) noexcept
Definition exception.cxx:24