summaryrefslogtreecommitdiff
path: root/rust-book/errors/src
diff options
context:
space:
mode:
authorAdam Carpenter <53hornet@gmail.com>2019-03-27 15:32:37 -0400
committerAdam Carpenter <53hornet@gmail.com>2019-03-27 15:32:37 -0400
commit67cdcc2e12118becb823e20a40cc2687f2b8425a (patch)
treeed92c3234b89079e6d4cf36f5e80c5ffa79def48 /rust-book/errors/src
parente25482fca375d318a39c3b54db396b0db6e0b263 (diff)
downloadlearning-rust-67cdcc2e12118becb823e20a40cc2687f2b8425a.tar.xz
learning-rust-67cdcc2e12118becb823e20a40cc2687f2b8425a.zip
Started Rust in Action MEAP.
Diffstat (limited to 'rust-book/errors/src')
-rwxr-xr-xrust-book/errors/src/main.rs38
1 files changed, 38 insertions, 0 deletions
diff --git a/rust-book/errors/src/main.rs b/rust-book/errors/src/main.rs
new file mode 100755
index 0000000..1250677
--- /dev/null
+++ b/rust-book/errors/src/main.rs
@@ -0,0 +1,38 @@
+use std::io;
+use std::io::Read;
+use std::fs::File;
+//use std::io::ErrorKind;
+
+fn read_username_from_file() -> Result<String, io::Error> {
+// let f = File::open("hello.txt");
+// let mut f = match f {
+// Ok(file) => file,
+// Err(e) => return Err(e),
+// };
+// let mut s = String::new();
+// match f.read_to_string(&mut s) {
+// Ok(_) => Ok(s),
+// Err(e) => Err(e),
+// }
+ let mut s = String::new();
+ File::open("hello.txt")?.read_to_string(&mut s)?;
+ Ok(s)
+}
+fn main() {
+// let f = File::open("hello.txt").map_err(|error| {
+// if error.kind() == ErrorKind::NotFound {
+// File::create("hello.txt").unwrap_or_else(|error| {
+// panic!("Could not create file: {:?}", error);
+// })
+// }
+// else {
+// panic!("Problem opening file: {:?}", error);
+// }
+// });
+
+ //let f = File::open("hello.txt").unwrap();
+
+ //let f = File::open("hello.txt").expect("failed to open hello.txt");
+
+ dbg!(read_username_from_file());
+}