mirror of
https://github.com/FULU-Foundation/OrcaSlicer-bambulab.git
synced 2026-07-12 08:14:26 +00:00
7c571c1d9d
with the following refactorings: 1) Removed the "printhost_slug" config from the Printer config and from all the Printer config related spots. 2) "printhost_slug" renamed to "printhost_port". Slug sounds nasty. 3) Improved error reporting of RepetierHost class. 4) Refactored for the new "Physical Printers" Following refactorings were done independently of the Repetier pull request: 1) Removed PrintHost static print config. 2) Clean-up after conversion of print host configuration from Printer config to Physical Printer config. 3) Fixed some issues, where the Printer config was still queried for host configuration. Vojtech believes that this should not happen after the host configuration is converted to physical printers. Vojtech still feels that more refactoring is needed in regard to porting the host configuration from Printer profile to the new Physical Printer profile.
30 lines
1.4 KiB
C++
30 lines
1.4 KiB
C++
#ifndef _libslic3r_Exception_h_
|
|
#define _libslic3r_Exception_h_
|
|
|
|
#include <stdexcept>
|
|
|
|
namespace Slic3r {
|
|
|
|
// PrusaSlicer's own exception hierarchy is derived from std::runtime_error.
|
|
// Base for Slicer's own exceptions.
|
|
class Exception : public std::runtime_error { using std::runtime_error::runtime_error; };
|
|
#define SLIC3R_DERIVE_EXCEPTION(DERIVED_EXCEPTION, PARENT_EXCEPTION) \
|
|
class DERIVED_EXCEPTION : public PARENT_EXCEPTION { using PARENT_EXCEPTION::PARENT_EXCEPTION; }
|
|
// Critical exception produced by Slicer, such exception shall never propagate up to the UI thread.
|
|
// If that happens, an ugly fat message box with an ugly fat exclamation mark is displayed.
|
|
SLIC3R_DERIVE_EXCEPTION(CriticalException, Exception);
|
|
SLIC3R_DERIVE_EXCEPTION(RuntimeError, CriticalException);
|
|
SLIC3R_DERIVE_EXCEPTION(LogicError, CriticalException);
|
|
SLIC3R_DERIVE_EXCEPTION(InvalidArgument, LogicError);
|
|
SLIC3R_DERIVE_EXCEPTION(OutOfRange, LogicError);
|
|
SLIC3R_DERIVE_EXCEPTION(IOError, CriticalException);
|
|
SLIC3R_DERIVE_EXCEPTION(FileIOError, IOError);
|
|
SLIC3R_DERIVE_EXCEPTION(HostNetworkError, IOError);
|
|
// Runtime exception produced by Slicer. Such exception cancels the slicing process and it shall be shown in notifications.
|
|
SLIC3R_DERIVE_EXCEPTION(SlicingError, Exception);
|
|
#undef SLIC3R_DERIVE_EXCEPTION
|
|
|
|
} // namespace Slic3r
|
|
|
|
#endif // _libslic3r_Exception_h_
|