绊倒了一些PowerShell的尝试,捕捉,功能和级联错误处理奇怪!

试着说标题五次连续...

也许这个帖子可以被归类为一个愚蠢的PowerShell的伎俩。或者,这只是我泄密关于我多么希望错误处理在PowerShell中的工作以某种方式(它始终是一个痛苦的话题)。总之,我在写一个脚本,并考虑到CTP3现在支持好老try和catch错误处理方法。我的错误处理逻辑,当然,用它。问题是...错误没有雨后春笋般冒出来,我想他们应该。

要启动我们失望解释为什么我遇到了我的问题,困惑,或者你想叫它什么的路径。让我们第一次启动一个基本的脚本:

#我的脚本

尝试{

“没有错误”

“我不应该来的。”

}

抓{

“这已经陷入”

}

如果执行上面的脚本,将产生一个错误,然后将其捕获。直线前进......现在,让我们展开的复杂性和增加的功能:

#我的脚本与函数

功能myfunction1 {

“看我在一个函数”

}

尝试{

“没有错误”

myfunction1

“我不应该来的。”

}

抓{

“这已经陷入”

}

再次,如果执行该脚本产生的错误,然后将其捕获。然而,在这种情况下,在函数内部产生的错误,更重要的是我从来没有以“我不应该来这里”字符串。

现在,考虑的东西远一点,让我们做函数内的一个尝试和catch:

#我的脚本与具有try和catch一个功能

功能myfunction2 {

尝试{

“看我在一个函数”

}

抓{

返回$错误[0]

}

}

尝试{

“没有错误”

myfunction2

“我不应该来的。”

}

抓{

“这已经陷入”

}

而且,如果你现在执行这个脚本,你会看到,我遇到的问题。无论是从函数返回一个错误的事实,脚本继续执行。这意味着,我到了“我不应该来这里”的字符串,尽管应该阻止脚本的继续执行的错误状态。这是一个错误,就应该像这样的工作,或者是我的逻辑只是有缺陷。对于原因,我在我的脑海,如果一个函数try和catch块中调用,如果该函数返回一个错误的对象。然后抓应该一命呜呼

是...是...我知道你在说什么。只是检查错误的对象,但我很懒。

如果你喜欢这个,看看泰森一些其他职位:

或者,如果你愿意,你还可以检查出一些泰森的最新出版物:

最后,请访问微软子网更多新闻,博客,以及来自各地的网络舆论。或者,报名参加双周微软通讯。(点击新闻/微软新闻快讯)

加入对网络世界的社有个足球雷竞技app区Facebook的LinkedIn对那些顶级心态的话题发表评论。
有关:

©2009Raybet2

IT薪资调查:结果是