This repository was archived by the owner on Aug 16, 2021. It is now read-only.
File tree Expand file tree Collapse file tree 2 files changed +14
-6
lines changed Expand file tree Collapse file tree 2 files changed +14
-6
lines changed Original file line number Diff line number Diff line change @@ -21,16 +21,20 @@ use errors::*;
21
21
22
22
fn main ( ) {
23
23
if let Err ( ref e) = run ( ) {
24
- println ! ( "error: {}" , e) ;
24
+ use :: std:: io:: Write ;
25
+ let stderr = & mut :: std:: io:: stderr ( ) ;
26
+ let errmsg = "Error writing to stderr" ;
27
+
28
+ writeln ! ( stderr, "error: {}" , e) . expect ( errmsg) ;
25
29
26
30
for e in e. iter ( ) . skip ( 1 ) {
27
- println ! ( "caused by: {}" , e) ;
31
+ writeln ! ( stderr , "caused by: {}" , e) . expect ( errmsg ) ;
28
32
}
29
33
30
34
// The backtrace is not always generated. Try to run this example
31
35
// with `RUST_BACKTRACE=1`.
32
36
if let Some ( backtrace) = e. backtrace ( ) {
33
- println ! ( "backtrace: {:?}" , backtrace) ;
37
+ writeln ! ( stderr , "backtrace: {:?}" , backtrace) . expect ( errmsg ) ;
34
38
}
35
39
36
40
:: std:: process:: exit ( 1 ) ;
Original file line number Diff line number Diff line change 36
36
macro_rules! quick_main {
37
37
( $main: expr) => {
38
38
fn main( ) {
39
+ use :: std:: io:: Write ;
40
+ let stderr = & mut :: std:: io:: stderr( ) ;
41
+ let errmsg = "Error writing to stderr" ;
42
+
39
43
:: std:: process:: exit( match $main( ) {
40
44
Ok ( ret) => $crate:: ExitCode :: code( ret) ,
41
45
Err ( ref e) => {
42
46
let e: & $crate:: ChainedError <ErrorKind =_> = e;
43
- println! ( "Error: {}" , e) ;
47
+ writeln! ( stderr , "Error: {}" , e) . expect ( errmsg ) ;
44
48
45
49
for e in e. iter( ) . skip( 1 ) {
46
- println! ( "Caused by: {}" , e) ;
50
+ writeln! ( stderr , "Caused by: {}" , e) . expect ( errmsg ) ;
47
51
}
48
52
49
53
if let Some ( backtrace) = e. backtrace( ) {
50
- println! ( "{:?}" , backtrace) ;
54
+ writeln! ( stderr , "{:?}" , backtrace) . expect ( errmsg ) ;
51
55
}
52
56
53
57
1
You can’t perform that action at this time.
0 commit comments