这是我的代码,当我如下输入20时。显示错误。查看附件文件
aliyun.accelerator/nvidia_count=1 #This field is important.
aliyun.accelerator/nvidia_mem=12209MiB
aliyun.accelerator/nvidia_name=Tesla-M40
答案 0 :(得分:0)
let test = GuessNumerGame()
do
{
try test.guess(number: 20)
}catch let error
{
print("error --\(error)")
}
您的程序输出
20
error --wrongNumber
答案 1 :(得分:0)
如果仅使用此方法来探索抛出错误,那么上面的答案就是您所需要的。但是如果没有...
通常会抛出错误来表示失败的操作,而不是返回测试的成功/失败。在这种情况下,我将进行重构,以便该函数具有一个返回类型,该返回类型可以显示测试的结果-这将在您的代码中更容易且更优雅地处理。下面返回一个Bool类型,但是如果您仍然想使用Result<Int>
枚举,则可以将其扩展为返回GuessNumberGameError
类型。
func guess (number : Int) -> Bool {
if number = targettNumber {
print("You guessed right: \(number)")
return true
} else {
print("Wrong number")
return false
}
}
然后您可以捕获结果:
let result = test.guess(number:20)
如果打印的文字足够,请忽略它
let _ = test.guess(number:20)