| use std::{error::Error, io, process}; | |
| fn main() { | |
| if let Err(err) = run() { | |
| println!("{}", err); | |
| process::exit(1); | |
| } | |
| } | |
| fn run() -> Result<(), Box<dyn Error>> { | |
| let mut rdr = csv::Reader::from_reader(io::stdin()); | |
| for result in rdr.records() { | |
| // Examine our Result. | |
| // If there was no problem, print the record. | |
| // Otherwise, convert our error to a Box<dyn Error> and return it. | |
| match result { | |
| Err(err) => return Err(From::from(err)), | |
| Ok(record) => { | |
| println!("{:?}", record); | |
| } | |
| } | |
| } | |
| Ok(()) | |
| } |