Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/rust/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Rust simplelog::CombinedLogger在运行时陷入恐慌_Rust - Fatal编程技术网

Rust simplelog::CombinedLogger在运行时陷入恐慌

Rust simplelog::CombinedLogger在运行时陷入恐慌,rust,Rust,我用的是原木和simplelog板条箱。在此之前,此代码有效: use simplelog::*; CombinedLogger::init( vec![ TermLogger::new(LevelFilter::Warn, Config::default()).unwrap(), WriteLogger::new(LevelFilter::Info, Config::default(), File::create("main.log"

我用的是原木和simplelog板条箱。在此之前,此代码有效:

use simplelog::*;

CombinedLogger::init(
    vec![
        TermLogger::new(LevelFilter::Warn, Config::default()).unwrap(),
        WriteLogger::new(LevelFilter::Info, Config::default(), File::create("main.log").unwrap()),
    ]
).unwrap();
但现在它在运行时抛出此错误:

thread 'main' panicked at 'called `Option::unwrap()` on a `None` value', /checkout/src/libcore/option.rs:335:21
stack backtrace:
Cargo.toml依赖项:

log = "0.4.1"
simplelog = "0.5.0"
的文档不是很好,因为它没有解释它返回
选项的原因


我读到:函数可能因为或而失败。阅读文档时,您的代码失败,因为无法打开终端。

错误消息很简单:您从函数中获得了一个
选项::None
。通过读取回溯找到原因。可以生成不可压缩值的三个位置是
CombinedLogger::init
TermLogger::new
,和
File::create
。在这三个选项中,唯一返回
选项的是
TermLogger::new
;其余的返回
Result
s。您的
TermLogger::new
参数有问题,我假设。OP,请在您的问题中添加回溯!就像@Boiethios说的那样。在这种情况下,我们很容易发现错误是从哪里来的,在将来,回溯会使错误更清楚,是来自发布的代码还是不太明显的东西。它是否也会因为
term::stderr()
而失败?@BHustus当然,我会添加它。我相信这个问题值得一提。