【发布时间】:2015-05-02 12:02:23
【问题描述】:
我收到了这个错误:
线程 1:EXC_BAD_INSTRUCTION(代码=EXC_I386_INVOP,子代码=0x0)
我该如何解决这个问题?代码正常工作,但是在计算器中,当我单击唯一的相等按钮时,它会给出错误。
@IBAction func equals(sender: AnyObject) {
secondNumber = Screen.text!.toInt()! // here it shows an error which is "Thread 1:EXC_BAD_INSTRUCTION (code=EXC_I386_INVOP, subcode=0x0)"
if operation == "+"{
result = firstNumber + secondNumber
}
else if operation == "-" {
result = firstNumber - secondNumber
}
else if operation == "x" {
result = firstNumber * secondNumber
}
else {
result = firstNumber / secondNumber
}
Screen.text = "\(result)"
}
【问题讨论】:
-
在这一行中
result = firstNumber / secondNumber当secondNumber等于0 时会发生什么? -
是的,我知道它是未定义的,那么我该如何解决呢?
-
“将一个数字除以零 (
i / 0),或尝试用零计算余数 (i % 0),会导致错误。” - The Swift Programming Language - Advanced Operators
标签: ios swift exception runtime-error