如何在异常之前捕获返回

时间:2013-10-15 22:30:16

标签: exception powershell return-value

是否可以捕获由函数创建的输出,这也会导致异常?

function functionWhichCreatesOutputThenCausesAnException() {
    "hello"
    1/0
    "world"
}

try { 
    $result = functionWhichCreatesOutputThenCausesAnException 
} catch {
    $($error[0])
}

我的功能创建的输出显示在我的终端中。我想捕捉“你好”。这可能吗?

1 个答案:

答案 0 :(得分:5)

这似乎有效:

function functionWhichCreatesOutputThenCausesAnException() {
    "hello"
    1/0
    "world"
}

try { 
    $result = @()
    functionWhichCreatesOutputThenCausesAnException | foreach {$result += $_}
} catch {
    $($error[0])
}