diff options
author | Jesse Luehrs <doy@tozt.net> | 2019-10-19 10:27:51 -0400 |
---|---|---|
committer | Jesse Luehrs <doy@tozt.net> | 2019-10-19 10:27:51 -0400 |
commit | def954fba185eae5773e9d81082d78e7ecc00f6a (patch) | |
tree | 4ca9a027b73f7aef4be98fda58dfa66b9c39af29 /src/cmd/play.rs | |
parent | 58169bf0a3dd4b1f9ace3ad861f312a9ed956430 (diff) | |
download | teleterm-def954fba185eae5773e9d81082d78e7ecc00f6a.tar.gz teleterm-def954fba185eae5773e9d81082d78e7ecc00f6a.zip |
improve error messages
Diffstat (limited to 'src/cmd/play.rs')
-rw-r--r-- | src/cmd/play.rs | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/src/cmd/play.rs b/src/cmd/play.rs index c99a697..22bd220 100644 --- a/src/cmd/play.rs +++ b/src/cmd/play.rs @@ -56,6 +56,7 @@ enum FileState { filename: String, }, Opening { + filename: String, fut: tokio::fs::file::OpenFuture<String>, }, Open { @@ -100,13 +101,17 @@ impl PlaySession { match &mut self.file { FileState::Closed { filename } => { self.file = FileState::Opening { + filename: filename.to_string(), fut: tokio::fs::File::open(filename.to_string()), }; Ok(crate::component_future::Async::DidWork) } - FileState::Opening { fut } => { - let file = - try_ready!(fut.poll().context(crate::error::OpenFile)); + FileState::Opening { filename, fut } => { + let file = try_ready!(fut.poll().with_context(|| { + crate::error::OpenFile { + filename: filename.to_string(), + } + })); let file = crate::ttyrec::File::new(file); self.file = FileState::Open { file }; Ok(crate::component_future::Async::DidWork) |