首页 > 解决方案 > 处理 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的记录并不多......

谢谢 !

标签: schemegimpscript-fu

解决方案


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 是任何错误的唯一原因。


推荐阅读