scheme - 处理 Scheme script-fu 中的异常
问题描述
我在 Scheme 中为 Gimp (script-fu !) 编写了一个脚本。
该脚本在某些时候需要非常棒的工具“重新合成器”。
(python-fu-heal-selection 1 image drawable 10 0 0)
现在,问题是用户之前必须安装 Resynthesizer。如果没有,他会看到一个讨厌的错误信息,比如
错误:评估:未绑定变量:python-fu-heal-selection
我想做的是更好地处理这个异常,这样用户就可以知道出了什么问题。
就像是 :
try
(python-fu-heal-selection 1 image drawable 10 0 0)
catch/except/handle exception eval, or something
(gimp-message "You have to install Resynthesizer, see the tutorial")
但在方案中。我做了我的研究,但是......在Scheme / script-fu中处理excptions的记录并不多......
谢谢 !
解决方案
GIMP 使用 TinyScheme 并且根据文档 catch
语法将捕获所有抛出的错误。您正在寻找的是这样的东西:
(catch (gimp-message "You have to install Resynthesizer, see the tutorial")
(python-fu-heal-selection 1 image drawable 10 0 0))
这假定缺少 Resynthesizer 是任何错误的唯一原因。
推荐阅读
- java - Generate exe for 32-bit system of Java software
- rxjs - 从不可预测的源 Observable 构建“心跳”Observable
- rest - 如何在 Katalon Studio Rest API 中将变量值传递给 json Path
- javascript - How to prevent infinite re-rendering with useEffect() in React
- ios - 在 SwiftUI 中为视图设置动画以在点击时向上滑动和隐藏
- c - 寻找完美数的程序:输出错误。完美数是因数之和等于给定数的数
- android - How Adding Real time data and give min and max angle to Slice Pie chart
- html - 启用 UTF-8 或使用 TheArtOfDev 的 HtmlRenderer.PdfSharp 设置自定义字体
- javascript - 如何使用 JS 在 CSS 中禁用“悬停”
- python - 对数据库执行多项操作时出错