小弟刚刚开始学 ruby,对 ruby 的错误处理有点疑惑,,下边是代码,
def promptAndGet(prompt)
print prompt
res = readline.chomp
throw :quitRequested if res == "!"
return res
end
catch :quitRequested do
name = promptAndGet("Name: ")
age = promptAndGet("Age: ")
sex = promptAndGet("Sex: ")
# ..
# 处理信息
end
promptAndGet("Name:")
我的想法是 这里如果我输入的等于感叹号他才会跳到错误处理,如果不是感叹号的话就会直接返回,但是好像并不是,我输入非感叹号字符之后他会直接让我输入 age,也就是走到了错误处理的第二个方法,,而且我想的是我输入之后他进入到错误处理再次调用这个方法,应该会形成一个循环,,但是并没有,所以这里有点疑惑,还有就是第一次输入感叹号是会跳到异常处理的,但是在异常处理这个方法输入感叹号就会报错,这里我也不太明白,因为有些绕,所以感觉自己也表达不太清楚,,麻烦大家了..