vim - Vim 脚本是否有办法停止任何错误?
问题描述
一个简单的例子:
function! Foo()
echom 'Starting Foo'
let x = Bar(123) " Function does not exist so E117 occurs.
echom 'Nonetheless, this executes.'
endfunction
如果发生任何错误,Vim 是否具有中止函数或脚本的机制 - 换句话说,在精神上类似于此设置bash
?
set -o errexit
为了澄清,我了解如何将容易出错的代码包装在try-catch
. 我正在寻找一种通用机制来使 Vim 脚本的行为类似于 Python、Ruby、Perl 等语言,其中未处理的错误会导致执行停止。
解决方案
TL;博士
总是用abort
您的问题最近在 vi.SE 上有重复:https ://vi.stackexchange.com/questions/29038/how-do-i-make-a-function-stop-when-an-error-occurs/29039#29039 或者,关于同一主题:https ://vi.stackexchange.com/questions/15905/when-should-a-function-not-be-defined-with-abort
关于 SO,还有一些关于abort
:Vimscript:函数定义中“中止”的意义何在?
推荐阅读
- javascript - 来自 webpack 文档站点的代码问题
- forms - 我需要帮助将电子邮件注册表单的所有元素放在同一行
- python - Python - 使用 side_effect 模拟在类的 init 内部调用的函数
- wordpress - Wordpress 中的 Foundation 新闻下拉菜单始终保持打开状态
- php - 重定向到结帐的其他 Woocommerce 产品添加到购物车按钮
- python - begin_fill 不填充任何内容
- memory - 在设计 8 x 32 内存时,当块后端口映射导致未知输出时,2d 信号导致生成块
- r - 使用 R 包 openxlsx 将样式应用于整个 Excel 工作表
- arrays - 数组循环不显示后续值
- telegram - 作为电报超级组的组管理员,我如何禁用链接预览