为什么在初始化构造函数中使用关键字raise会产生错误?



我问这个问题是因为我正在做一个小挑战,所有的测试用例都失败了,我意识到我的代码很好,让我告诉你发生了什么。

所以我有这段代码:

class Person
def initialize(name)
@name = name
end
def printName 
return @name
end
end
human = Person.new('Josh')
puts human.printName

输出非常明显,但是当我第一次尝试运行它时,我看到代码中有异常的raise关键字,代码是这样的,并给了我这个错误:

class Person
def initialize(name)
@name = name
raise "Implement intialize method"
end
def printName 
return @name
raise "Implement print method"
end
end
human = Person.new('Josh')
puts human.printName

输出:initialize': Implement intialize method (RuntimeError)

一旦我从构造函数中删除了raise关键字,测试用例就成功了,有人能解释一下为什么会发生这种情况吗?

内核的raise方法,当它在代码中设置时,基本上会引发异常或RuntimeError…似乎挑战期望您实现这些方法(意味着您将删除raise调用)

最新更新