【发布时间】:2011-10-26 14:27:31
【问题描述】:
我创建了这个函数,当尝试在 Y 文本框中输入 0 时,它可以正确显示无穷大符号。但是我仍然得到零错误除法......这是我的代码。
这里是switch语句的情况
case '/':
$prod = $x / $y;
break;
hh
//check for divide by 0
function check0($y)
{
if ($y == 0)
throw new Exception ($prod = "∞");
return FALSE;
}
try
{
check0($y);
$prod = $x /$y;
}catch(Exception $zero){
echo $zero->getMessage();
}
【问题讨论】:
-
代码实际上是如何组织的?我看到一个分界线,然后是一个
break(顶部没有调用check0。 -
这一行是什么 $prod = $x / $y;休息前?是否被 try{...}catch{...} 包围?
-
当前的答案涵盖了它,但还有一些额外的说明:为什么 Exception 构造函数中有赋值?此外,您不应该对控制流使用异常。只需使用 if 语句返回无穷大符号,而不是进行除法。
-
你能发布你得到的错误吗?错误中应该有一个行号,它应该给你一个提示你有什么错误
-
如果 $x 是负数怎么办?负无穷也是一种可能......
标签: php divide-by-zero