关于错误最烦人的事情之一就是一个简单的语法错误会杀死我的所有程序。例如,如果我这样做:
require 'moduleWithSyntaxError' --Has a syntax error
require 'fullyFunctioningModule' --No syntax errors
foo = faultyClass.new() --Has syntax error inside the class definition
bar = normalClass.new() --No syntax errors
然后,如果程序在故障模块中发现语法错误,则退出,如果在故障类中发现语法错误,则退出。这引出了我的问题,有没有什么方法可以检测是否存在语法错误,并使用该信息来调用faultyClass.new()
,其语法与异常类似?我正在寻找这样的东西(是的,这与C ++异常非常相似):
try()
require 'moduleWithSyntaxError'
catch (exception)
print (exception.what())
end