• 新浪微博:
  • 按键公众号 :
按键精灵电脑版
立即下载

软件版本:2014.06
软件大小:22.9M
更新时间:03-18

按键精灵安卓版
立即下载

软件版本:3.5.3
软件大小:46.2M
更新时间:03-02

按键精灵iOS版
立即下载

软件版本:1.7.3
软件大小:29.2M
更新时间:12-06

最新企业版UiBot
立即下载

软件版本:3.3
软件大小:282M
更新时间:08-06

快捷导航

登录 后使用快捷导航
没有帐号? 注册

发新话题 回复该主题

[紫猫] [紫猫学院][手机]按键版Try...Catch...Finally异常捕获保护运行,... [复制链接]

1#
  1. Dim 结果
  2. 结果 = 乘法("紫", "猫")
  3. TracePrint "这句调试输出不会被执行, 因为上面一行出错了!"

  4. Function 乘法(a, b)
  5. 乘法 = a * b
  6. End Function
复制代码
上面代码执行后,会出现以下错误提示。

当前脚本第8行:发生运行时错误!错误代码:2,错误行号:8,错误信息: attempt to perform arithmetic on local 'ide4b998e6b3953a41' (a string value)

相信大家都遇到过这种类似的错误提示,简单的用人话来翻译下就是,脚本执行到这一行的时候,突然发现了一个错误,后面代码无法再继续执行了。

那么是什么错误呢?在错误信息里有详细说明,但是最关键的一串内容'ide4b998e6b3953a41'我们看不懂,而且这个错误还会让我们的脚本代码直接停止运行!要崩溃了有木有!!!

dang dang dang dang,紫猫插件闪亮登场!!!

利用紫猫插件的PCall功能,可以实现高级语言中的异常捕获,类似于Try...Catch...Finally的效果。让我们的代码就算出错了,也能继续执行,并且还可以对错误信息进行翻译。

详细例子如下:
  1. Import "zm.luae" //导入插件,只需执行一次
  2. zm.Init //初始化插件,只需执行一次
  3. Dim 结果

  4. TracePrint "正确的内容可以正常执行并返回正确结果"
  5. 结果 = zm.PCall(乘法, 2, 4)
  6. TracePrint "正确结果 = ", 结果

  7. TracePrint "对乘法函数传入汉字参数会提示异常错误信息, 但是不会停止整个脚本运行"
  8. 结果 = zm.PCall(乘法, "紫", "猫")
  9. TracePrint "错误结果 = ", 结果

  10. TracePrint "可加入错误处理函数, 当出错后执行错误处理"
  11. 结果 = zm.PCall(乘法, "紫", "猫", 乘法异常处理, "学", "院")
  12. TracePrint "处理结果 = ", 结果

  13. TracePrint "未出现错误, 则不执行错误处理函数"
  14. 结果 = zm.PCall(乘法, 2, 4, 乘法异常处理, "学", "院")
  15. TracePrint "处理结果 = ", 结果

  16. TracePrint "可加入必定执行函数, 不管是否出错, 函数必定会被执行"
  17. 结果 = zm.PCall(乘法, "紫", "猫", 乘法异常处理, "学", "院", 乘法最终处理)
  18. TracePrint "处理结果 = ", 结果

  19. Function 乘法(a, b)
  20. 乘法 = a * b
  21. End Function

  22. Function 乘法异常处理(c, d)
  23. 乘法异常处理 = c & d
  24. End Function

  25. Function 乘法最终处理(x)
  26. TracePrint "我是最终处理函数, 必定会被执行一次", x
  27. End Function
复制代码

最后编辑紫猫 最后编辑于 2021-12-05 23:37:01

【紫猫编程学院】火热招生中

教学涉及按键精灵(电脑版与手机版)、网页、游戏、办公、插件等。

报名咨询QQ: 345911220 微信:zimaoxy

紫猫学院免费教程

加入交流QQ群: 7333555


2#

该用户帖子内容已被屏蔽

3#

该用户帖子内容已被屏蔽

承接各类游戏脚本制作,post,手游,端游,办公,自动化

有偿解决任何按键基础问题(可远程讲解、教会为止)

如果我的回答能帮助了你,大家可以加个好友互相了解
QQ : 262832680
4#

该用户帖子内容已被屏蔽

amp;noupdate=yes" border="0" alt="" />
5#

该用户帖子内容已被屏蔽

6#

该用户帖子内容已被屏蔽

7#

该用户帖子内容已被屏蔽

发新话题 回复该主题