Java中抛出的异常不是';行不通

Java中抛出的异常不是';行不通,java,exception,Java,Exception,我正在进行一个项目,我们将创建一个收银机系统,该系统为0.00美元的订单和0个总项目提供错误信息。例外情况的代码如下所示。我必须使用这种方法 public boolean ValidateOrderTotal(double total) { boolean validTotalFlag = true; try { if (total < 0) Exception invalidTotalEX = new

我正在进行一个项目,我们将创建一个收银机系统,该系统为0.00美元的订单和0个总项目提供错误信息。例外情况的代码如下所示。我必须使用这种方法

  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;
      }