Make Application and Sandbox return a Result
This commit is contained in:
parent
faa12382d4
commit
c1f79b40cf
40 changed files with 166 additions and 58 deletions
34
src/error.rs
Normal file
34
src/error.rs
Normal file
|
|
@ -0,0 +1,34 @@
|
|||
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(Box<dyn std::error::Error>),
|
||||
|
||||
/// A suitable graphics adapter or device could not be found.
|
||||
#[error("a suitable graphics adapter or device could not be found")]
|
||||
GraphicsAdapterNotFound,
|
||||
}
|
||||
|
||||
#[cfg(not(target_arch = "wasm32"))]
|
||||
impl From<iced_winit::Error> for Error {
|
||||
fn from(error: iced_winit::Error) -> Error {
|
||||
match error {
|
||||
iced_winit::Error::ExecutorCreationFailed(error) => {
|
||||
Error::ExecutorCreationFailed(error)
|
||||
}
|
||||
iced_winit::Error::WindowCreationFailed(error) => {
|
||||
Error::WindowCreationFailed(Box::new(error))
|
||||
}
|
||||
iced_winit::Error::GraphicsAdapterNotFound => {
|
||||
Error::GraphicsAdapterNotFound
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue