xtd - Reference Guide  0.1.0
Modern c++17/20 framework to create console, GUI and unit test applications on Windows, macOS, Linux, iOS and android.
Loading...
Searching...
No Matches
exception_dialog.cpp

The following code example demonstrate the use of exception_dialog dialog.

Windows

macOS

Gnome

#include <xtd/xtd>
using namespace xtd;
using namespace xtd::forms;
class form1 : public form {
public:
form1() {
text("Exception dialog example");
controls().push_back(button1);
button1.location({10, 10});
button1.auto_size(true);
button1.text("Exception...");
button1.click += [&] {
try{
throw invalid_operation_exception("Throws an invalid operation exception to show an exception dialog.", current_stack_frame_);
} catch(const xtd::system_exception& e) {
dialog.exception(e);
if (dialog.show_sheet_dialog(*this) == dialog_result::cancel)
application::exit();
}
};
}
private:
button button1;
};
int main() {
application::run(form1());
}
Represents a Windows button control.
Definition: button.h:54
Represents a common dialog box that displays exception dialog.
Definition: exception_dialog.h:30
std::reference_wrapper< const std::exception > exception() const
Gets exception reference.
Definition: exception_dialog.h:52
xtd::forms::dialog_result show_sheet_dialog(const iwin32_window &owner)
Runs exception dialog box.
Represents a window or dialog box that makes up an application's user interface.
Definition: form.h:40
The exception that is thrown when a method call is invalid for the object's current state.
Definition: invalid_operation_exception.h:18
Defines the base class for predefined exceptions in the xtd namespace.
Definition: system_exception.h:24
#define current_stack_frame_
Provides information about the current stack frame.
Definition: stack_frame.h:201
The xtd::forms namespace contains classes for creating Windows-based applications that take full adva...
Definition: about_box.h:13
The xtd namespace contains all fundamental classes to access Hardware, Os, System,...
Definition: system_report.h:17