记录 rust 上传文章工具崩溃问题
最近,更新了上传文章工具 rust 版本,这个版本使用的库为 nwg,即 native-windows-gui 库,该库支持老的 Windows GUI。
昨天,当我准备在另一台电脑上录制视频时,发现运行不起来,GUI 界面闪现一下,就退出了。我先升级了 Rust 版本到最新版本。
rustup update
升级完成后,cargo clean ,再 cargo run 重新运行。
郁闷,还是报错。
将 main.rs 文件中该行注释,#![windows_subsystem = "windows"]
,可以在命令行中查看报错信息,提示是找不到文件。我想了下,只有图片是文件,然后我将图片的路径修改,发现修改之后,编辑器提示错误,找不到文件。重新改回去后,编辑器提示错误消失。说明不是这里的错误。
我真的晕了。从网上查找问题原因,没有找到此类问题的解决方法,郁闷。在查找时,发现了另一个 Windows 官方支持的 rust 库,就叫 windows,打算有时间了用这个库重写一下。
今天,我又查看了下另一台电脑上的这个项目,发现可以正常运行,将 rust 升级到最新版本后,还是可以运行。在看到配置文件后,我才恍然大悟,原来是查找这个文件。我赶紧扒拉代码确认,发现确实是这个问题。
let conf = Ini::load_from_file("conf.ini").unwrap();
上面是使用文件的地方,找不到文件 panic。我这里优化一下,让错误提醒的更明显一些。这样我就瞬间能知道问题原因了。
优化后的代码如下:
let conf = Ini::load_from_file("conf.ini").expect("please config conf.ini file");