找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 40181|回复: 15

[其他] 批处理中有没有错误时跳转?

[复制链接]
发表于 2010-12-19 10:38:25 | 显示全部楼层 |阅读模式
  我们都知道在VB中有一个错误跳转语句,可以应对所有我们编程者料想不到的错误,它就是:
  1. on error resume next
复制代码

  1. on error goto xxx:
复制代码

  我想知道批处理中,有没有这样的语句。
  像那种if not %errorlevel% equ 0 ......的语句是无法满足我的需求的,因为要应对的是未知错误!

[ 本帖最后由 MantisLin 于 2010-12-19 10:44 编辑 ]
发表于 2010-12-19 16:12:02 | 显示全部楼层
No No No! 绝对不是所有!
最起码语法错误它都应对不了,有些重大错误它也无法Next
发表于 2010-12-19 17:31:23 | 显示全部楼层
if %errorlevel% 1 goto next
 楼主| 发表于 2010-12-19 17:58:52 | 显示全部楼层

回复 3楼 的帖子

呃……你这一句有很明显的语法错误!
而且是我所说的“无法满足我的需求”的那种语句!
因为未知的错误是不知道其具体位置的,
所以我不可能确定在某条语句后面加上这句if %errorlevel% equ 1 goto next

[ 本帖最后由 MantisLin 于 2010-12-19 18:09 编辑 ]
 楼主| 发表于 2010-12-19 17:59:37 | 显示全部楼层

回复 2楼 的帖子

好吧,那就算是能搞定大部分错误好了,那么请问有没有这样的语句?
发表于 2010-12-19 18:03:54 | 显示全部楼层

回复 4楼 的帖子

  1. if errorlevel 1 goto next
复制代码
当返回代码大于或等于1时跳到标签next处。看不出有什么语法错误

[ 本帖最后由 hanyeguxing 于 2010-12-19 18:23 编辑 ]
 楼主| 发表于 2010-12-19 18:16:14 | 显示全部楼层

回复 6楼 的帖子

%errorlevel%和1之间缺少运算符
如果是要判断大于或等于的话至少加个geq吧

[ 本帖最后由 MantisLin 于 2010-12-19 18:18 编辑 ]
发表于 2010-12-19 18:23:27 | 显示全部楼层
崩溃。。。把那%去了。。。
 楼主| 发表于 2010-12-19 18:25:24 | 显示全部楼层

回复 8楼 的帖子

别崩溃,把%去了确实没错了
但是我上面也说了,是要预防未知错误的
莫非要我在每条语句后面都加上这么一句?
发表于 2010-12-19 18:33:57 | 显示全部楼层
难道你写段代码,还句句都可能出错?
 楼主| 发表于 2010-12-19 18:36:46 | 显示全部楼层

回复 10楼 的帖子

难道你写段代码,还能保证句句都不出错?
发表于 2010-12-19 22:08:30 | 显示全部楼层
批处理默认就是on error resume next的。
不然基本上就不会2>nul了
但是当有if,for等的语法错误时,就会与vbs一样退出整个批处理。
发表于 2010-12-20 09:39:27 | 显示全部楼层
如果想知道错误,到CMD中运行一下不是就了解了么。如果%errorlevel%反回非0的反回值,那么不就证明上一句是有问题的么?难道LZ是想在整个P中只用一个%errorlevel%就达到像VBS那样的效果(好像有些不太可能啊),不过可以用P和VBS一起使用好像可以达到效果
 楼主| 发表于 2010-12-20 11:25:30 | 显示全部楼层
  因为我做是接收用户输入,然后判断用户输入的字符串来执行各种各样的操作的
  用户的输入有无数种可能,所以我也不可能判断得面面具到,总是会出错的,所以才想知道有没有可以偷懒的办法。
  根据各位的回复来看,偷懒的办法是没有了……
发表于 2010-12-20 16:29:17 | 显示全部楼层
在语句后面加一句   || goto :error
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-16 20:36 , Processed in 0.028388 second(s), 11 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表