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(()) | |
} |