diff options
author | 2020-09-08 20:03:37 +0200 | |
---|---|---|
committer | 2020-09-08 20:03:37 +0200 | |
commit | 49076c6ac2983e2076dae64f68a2e801904d7ce9 (patch) | |
tree | 31c0cf2b8d166976dc819f020e0185f9d8c2bdcd /winit/src/error.rs | |
parent | faa12382d4d7a44ab60fa5bf2a5024a34dbb2e8d (diff) | |
parent | c1f79b40cf704cafc807250b177fc7d3444fe54f (diff) | |
download | iced-49076c6ac2983e2076dae64f68a2e801904d7ce9.tar.gz iced-49076c6ac2983e2076dae64f68a2e801904d7ce9.tar.bz2 iced-49076c6ac2983e2076dae64f68a2e801904d7ce9.zip |
Merge pull request #514 from hecrj/feature/error-handling
Error propagation
Diffstat (limited to 'winit/src/error.rs')
-rw-r--r-- | winit/src/error.rs | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/winit/src/error.rs b/winit/src/error.rs new file mode 100644 index 00000000..8e1d20e8 --- /dev/null +++ b/winit/src/error.rs @@ -0,0 +1,27 @@ +use iced_futures::futures; + +/// An error that occurred while running an application. +#[derive(Debug, thiserror::Error)] +pub enum Error { + /// The futures executor could not be created. + #[error("the futures executor could not be created")] + ExecutorCreationFailed(futures::io::Error), + + /// The application window could not be created. + #[error("the application window could not be created")] + WindowCreationFailed(winit::error::OsError), + + /// A suitable graphics adapter or device could not be found. + #[error("a suitable graphics adapter or device could not be found")] + GraphicsAdapterNotFound, +} + +impl From<iced_graphics::Error> for Error { + fn from(error: iced_graphics::Error) -> Error { + match error { + iced_graphics::Error::AdapterNotFound => { + Error::GraphicsAdapterNotFound + } + } + } +} |