简单的问题,我猜......
function foo1() {
foo2();
// should not hit this line
}
function foo2() {
foo3();
// should not hit this line
}
function foo3() {
if(someCondition)
// should not hit this line
}
如果在foo3()中,如果我使用简单返回,它将继续在foo2()和foo3()中执行。
我理解有可能找回返值等等,我只是想知道是否可以完全退出foo3()?
答案 0 :(得分:1)
要真实回答您的问题,请务必foo3()
来自function foo1() {
console.log(1)
foo2()
console.log("Never hits")
}
function foo2() {
console.log(2)
foo3(3)
console.log("Never hits")
}
function foo3() {
if (true)
throw "Breakout"
}
try {
foo1()
} catch(e) {
console.log(e)
}
:
library(readxl)
scb <- read_excel(file.choose())
scb <- scb[3:34,1:56] # Remove data that is not needed
scbnew <- data.frame(t(scb))
colnames(scbnew) <- scbnew[1,] # Nope
colnames(scbew) <- as.character(scbnew[1,]) # Nope
这是异常泡沫的部分原因。可能有理由以这种方式中止执行,但您可能希望考虑替代方案。
但你可能不希望这样做,因为这是一个非常臭的架构,但你已经知道更多的惯用选择是检查返回。