在Tauri中用TypeScript调用Rust PHP解析库的错误处理问题
解决步骤
- 修正Rust命令的返回类型与错误处理
Rust要求match必须覆盖Result的所有分支(Ok和Err),同时Tauri命令支持返回Result类型,错误会自动传递给前端的catch回调。修改后的代码如下:
#[tauri::command] fn php_to_ast(code: &str) -> Result<String, String> { match parser::parse(code) { Ok(ast) => Ok(format!("{:?}", ast)), Err(err) => Err(format!("解析PHP代码失败: {:?}", err)), } }
- 修改说明
- 把返回类型从
String改为Result<String, String>:Tauri会自动处理该类型,Ok分支的内容会传给前端then回调,Err分支的内容会触发前端的catch逻辑。 - 新增
Err分支处理:将解析错误转换为可读字符串返回,前端能直接获取具体错误信息。
- 前端代码无需调整
你现有的TypeScript调用代码已经包含catch逻辑,错误信息会自动进入console.error,直接使用即可。
内容的提问来源于stack exchange,提问作者eddieconnecti
相关产品推荐
相关产品推荐

