summaryrefslogtreecommitdiff
path: root/rust-book/errors
diff options
context:
space:
mode:
Diffstat (limited to 'rust-book/errors')
-rwxr-xr-xrust-book/errors/Cargo.lock4
-rwxr-xr-xrust-book/errors/Cargo.toml7
-rwxr-xr-xrust-book/errors/src/main.rs38
3 files changed, 49 insertions, 0 deletions
diff --git a/rust-book/errors/Cargo.lock b/rust-book/errors/Cargo.lock
new file mode 100755
index 0000000..749984f
--- /dev/null
+++ b/rust-book/errors/Cargo.lock
@@ -0,0 +1,4 @@
+[[package]]
+name = "errors"
+version = "0.1.0"
+
diff --git a/rust-book/errors/Cargo.toml b/rust-book/errors/Cargo.toml
new file mode 100755
index 0000000..e531a1b
--- /dev/null
+++ b/rust-book/errors/Cargo.toml
@@ -0,0 +1,7 @@
+[package]
+name = "errors"
+version = "0.1.0"
+authors = ["Adam Carpenter <adam.carpenter@adp.com>"]
+edition = "2018"
+
+[dependencies]
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());
+}