ios - Swift :- 线程 1:致命错误:余数或除以零
问题描述
我正在创建一个包含除法(/)的简单计算器。我对 nil 值或字母词有错误处理。有没有可能的方法来保护崩溃?
线程1:致命错误:余数或除以零
@objc func divFunc() {
let a = Int(firstTxtField.text!)
let b = Int(secondTxtField.text!)
if (a != nil) && (b != nil)
{
resultLabel.textColor = UIColor.white
resultLabel.text = String(a! / b!)
}
else
{
resultLabel.textColor = UIColor.red
resultLabel.text = "Invalid No."
}
解决方案
不要使用所有的力量展开 - 它只是要求崩溃。
在执行除法之前检查 0。
@objc func divFunc() {
if let a = Int(firstTxtField.text ?? ""),
let b = Int(secondTxtField.text ?? ""),
b != 0 {
resultLabel.textColor = .white
resultLabel.text = String(a / b)
}
else
{
resultLabel.textColor = .red
resultLabel.text = "Invalid No."
}
}
推荐阅读
- c - 使用 fgets() 从文件中读取字符时出现设备错误的非法 ioctl
- python - 如何每天自动创建数千个任务
- fonts - SVG 中的 GraphicsMagick 和字体问题
- spring - 如何在 Spring(AWS Codestar)中从 JSP 页面发送邮件?
- r - 使日期从 r 中的同一天开始
- visual-studio - ASP .NET Core Web 服务器控制台输出在 VS for .NET Core 2.2 中不可见
- arrays - 在 MATLAB 中使用下标的困难/混乱
- android - 从 LiveData 中获取一个值
- reactjs - 如何使用 Semantic-UI-React 在标题中呈现背景图像
- vue.js - VueJS - v-html 属性的使用不起作用