我正在尝试在以下代码中捕获错误:
data.forEach { rule ->
val view = layoutInflater.inflate(R.layout.rule_view_holder, null).apply {
setOnClickListener { content.flipVisibility() }
title.text = rule.title
contentText.text = rule.content.fromHtml()
rule.images.map {
createImageView(this.context, it)
}.forEach {
contentImages.addView(it)
}
}
this.rulesContainer.addView(view)
}
这是输出
n=int(input("enter the first number: "))
m=int(input("enter the second number: "))
p=n/m
try :
print( n/m)
except :
print("dividing by zero may not be possible")
print(p)
请指出我的错误。
答案 0 :(得分:0)
您可以在将m
分割或插入try子句之前检查p=n/m
是否等于0。另外,您不想使用裸except
,而是使用except ZeroDivisionError:
之类的东西。
答案 1 :(得分:0)
n = int(input("enter the first number: "))
m = int(input("enter the second number: "))
try:
p = n / m
print(n / m)
print(p)
except ZeroDivisionError:
print("dividing by zero may not be possible")
答案 2 :(得分:0)
您正在计算try / except块之外的p。只需在try块内添加p = n / m,所以如果抛出异常,它将由except块处理。将try块视为一个盒子,如果盒子内部发生爆炸,则可以处理,如果超出盒子外部,则无法处理。
此外,建议您指定要尝试捕获的异常类型,因为可能会发生许多异常,例如“除以零”,“除以非数字”等...似乎没有必要但是当您有很多代码时,它对调试很有帮助-否则,您将永远不知道为什么程序会失败。
n = int(input("enter the first number: "))
m = int(input("enter the second number: "))
try:
p = n/m
print(p)
except ZeroDivisionError:
print("dividing by zero may not be possible")