ruby中的异常处理问题
在下面的代码中,我希望处理异常。如果未找到ruby中的异常处理问题,ruby,Ruby,在下面的代码中,我希望处理异常。如果未找到msg[0]我必须在rescue中捕获该异常消息msg[2],如果找到,则将成功消息msg[1] puts "Verifying Home Page" def verifyHomepage(*args) begin args.each do |msg| page.find(msg[0]) puts msg[1] rescue puts msg[2] end end end verifyHom
msg[0]
我必须在rescue中捕获该异常消息msg[2]
,如果找到,则将成功消息msg[1]
puts "Verifying Home Page"
def verifyHomepage(*args)
begin
args.each do |msg|
page.find(msg[0])
puts msg[1]
rescue
puts msg[2]
end
end
end
verifyHomepage(['#logoAnchorr', 'logo anchor found', 'Logo anchor not Found'], ['.navbar-inner', 'Header Bar found', 'Header Bar not Found'])
在上面的代码中,我得到了
error sysntax error unexpected keyword rescue expected keyword end
您必须在块中写入begin
puts "Verifying Home Page"
def verifyHomepage(*args)
args.each do |msg|
begin
page.find(msg[0])
puts msg[1]
rescue
puts msg[2]
end
end
end
verifyHomepage(['#logoAnchorr', 'logo anchor found', 'Logo anchor not Found'], ['.navbar-inner', 'Header Bar found', 'Header Bar not Found'])
萨利尔已经给你指出了要修复的地方,没错。现在,您也可以采用以下方法:
puts "Verifying Home Page"
def verifyHomepage(*args)
args.each do |msg|
next puts(msg[1]) if page.find(msg[0]) rescue nil
puts msg[2]
end
end
a = [['#logoAnchorr', 'logo anchor found', 'Logo anchor not Found'], ['.navbar-inner', 'Header Bar found', 'Header Bar not Found']]
verifyHomepage(*a)
输出:
是因为rescue
在args.each
块中吗?在rescue
语句之后有一个end
是一个好主意吗?是的,我同意@sumea
Verifying Home Page
Logo anchor not Found
Header Bar not Found