在Bash中,有什麼方法可以模擬異常嗎?在bash中模擬異常類似bevaviour
E.g.在測試功能,我有幾個測試語句
test_foo_and_bar() {
expect_foo $1
expect_bar $2
}
expect_foo() {
[[ $1 != "foo" ]] && return 1
}
expect_bar() {
[[ $1 != "bar" ]] && return 1
}
現在,我想的是,如果expect_foo
失敗,將停止執行,並返回的功能test_foo_and_bar
調用者。
是這樣的可能嗎?我知道你可以這樣做:
test_foo_and_bar() {
expect_foo $1 || return 2
expect_bar $2 || return 2
}
但我對替代解決方案感興趣(如果有的話)。
編輯
而提出的解決方案是相當不錯的,我有一個進一步的要求。 異常發生後,我仍然需要執行清理。所以退出不是一種選擇。
我用java說的有效需要的是某種finally
子句。
在sh中獲得異常類行爲的標準方法是使用'set -e'。有關詳細信息,請參閱http://stackoverflow.com/a/12337030/1600898。 – user4815162342