Java中抛出的异常不是';行不通
我正在进行一个项目,我们将创建一个收银机系统,该系统为0.00美元的订单和0个总项目提供错误信息。例外情况的代码如下所示。我必须使用这种方法Java中抛出的异常不是';行不通,java,exception,Java,Exception,我正在进行一个项目,我们将创建一个收银机系统,该系统为0.00美元的订单和0个总项目提供错误信息。例外情况的代码如下所示。我必须使用这种方法 public boolean ValidateOrderTotal(double total) { boolean validTotalFlag = true; try { if (total < 0) Exception invalidTotalEX = new
public boolean ValidateOrderTotal(double total)
{
boolean validTotalFlag = true;
try
{
if (total < 0)
Exception invalidTotalEX = new Exception ("Total mst be >= $0.00");
throw invalidTotalEX;
}
catch (Exception invalidTotalEX)(
validTotalFlag = false;
SetTotal(0.00);
System.out.println(invalidTotalEX);
}
return validTotalFlag;
public boolean ValidateOrderProductTotal (double totalItems)
{
boolean validProdctTotalFlag = true;
try
{
if (totalItems < 0)
(Exception invalidProductTotalEX = new Exception ("Product total must be >=0");
throw invalidProductTotalEX;
}
}
catch (Exception invalidProductTotalEX)(
validProdctTotalFlag = false);
SettotalItems (0);
system.out.println (invalidProductTotalEX);
)
return valid ProductTotalFlag
public boolean ValidateOrderTotal(双倍合计)
{
布尔值validTotalFlag=true;
尝试
{
如果(总数<0)
异常invalidTotalEX=新异常(“总mst大于等于0.00美元”);
投掷无效的Totalex;
}
捕获(异常invalidTotalEX)(
validTotalFlag=false;
SetTotal(0.00);
系统输出打印项次(invalidTotalEX);
}
返回validTotalFlag;
公共布尔值ValidateOrderProductTotal(double totalItems)
{
布尔值validProdctTotalFlag=true;
尝试
{
如果(项目总数<0)
(异常invalidProductTotalEX=新异常(“产品总数必须大于等于0”);
投掷无效的Totalex;
}
}
捕获(异常invalidProductTotalEX)(
validProdctTotalFlag=false);
SettotalItems(0);
system.out.println(invalidProductTotalEX);
)
返回有效的ProductTotalFlag
if(总计<0)
异常invalidTotalEX=新异常(“总mst大于等于0.00美元”);
投掷无效的Totalex;
需要大括号
if (total < 0) {
Exception invalidTotalEX = new Exception ("Total mst be >= $0.00");
throw invalidTotalEX;
}
if(总数<0){
异常invalidTotalEX=新异常(“总mst大于等于0.00美元”);
投掷无效的Totalex;
}
你有第二次机会,如果你有同样的问题
您的catch块还需要在语句周围使用{
和}
。您在某些地方使用(
和)
。“catch(Exception invalidTotalEX)(”-
“catch(Exception invalidTotalEX)(”之后应该有最后一个“{”,而不是“(”
变量名并不重要,例如:
viktor@Viks-pro:~/tmp/test $ cat ExTest.java
import java.util.*;
public class ExTest
{ public static void main(String[] args)
{ try
{ throw new Exception("Something should be different");
}
catch(Exception e)
{ System.out.println("Exception: "+e.getMessage());
}
}
}viktor@Viks-pro:~/tmp/test $ java ExTest
Exception: Something should be different
当它为0时抛出错误,应该是:
if (total <= 0) {
Exception invalidTotalEX = new Exception ("Total mst be > $0.00");
throw invalidTotalEX;
}
if(total)你的问题是什么?我看到你符合格式混乱学派。你有没有可能为我们这些凡人清晰地格式化你的代码?我甚至不知道这段代码是如何编译的。另外,请不要将异常用于控制流。只需抛出一个异常,你就可以大大简化你的代码(而不是返回返回值)如果输入无效。如果您的if被破坏,您可以将其写得更短,如if(total<0)抛出新的IllegalArgumentException(“total必须>0,但was”+total);
if (total <= 0) {
Exception invalidTotalEX = new Exception ("Total mst be > $0.00");
throw invalidTotalEX;
}