如何在多个if / else条件下使用Throws?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在多个if / else条件下使用Throws?相关的知识,希望对你有一定的参考价值。

我有一个使用throws的方法,里面是两个if / else语句,if语句测试一个条件然后抛出异常如果它失败,问题当然是如果第一个if / else块失败我的第二个永远不会被执行,有没有其他方法来解决这个问题?

编辑(更多信息)

我的代码是检查一个人对象是否具有正确的名字Test 1,或者正确的姓氏Test 2,如果没有抛出异常A或B,则代码会进一步增加,如果他们通过两个条件,则将该人添加到一个组中

  Method throws Exception A, Exception B
{
    //Test First name 
    if(Test1)
    {
      If persons firstname is correct, Test1 is true
    }
    else
    {
      throw new Exception A
    }

    //Test Surname
    if(Test2)
    {
      If persons surname is correct, Test2 is true
    }
    else
    {
      throw new Exception B
    }

   //If everything is fine, add the person to a list.
   if (Test1 & Test2)
   {
     Add Person to a list
   }
}
答案

根据您的描述,我认为您可以改为

if(Test1)
{
    if(!Test2)
    {
       throw new Exception B
    }
    // Do some work here
}
else
{
  throw new Exception A
}

另一种考虑方法是创建方法

bool test1 = correctFirstName (fname);
bool test2 = correctLastName (lname);

if (test1 && test2) 
{
    // do some stuff
}
else {
    if (!test1) // throw ExceptionA
    else // throw ExceptionB
}
另一答案

这样的事情应该有效。我当然建议不要使用泛型异常,但我也不会使用两种不同类型的异常,因为你的原始代码暗示了。

  Method throws Exception A, Exception B
{
    String errMsg = "";

    //Test First name 
    if(Test1)
    {
      If persons firstname is correct, Test1 is true
    }
    else
    {
      errMsg = "Invalid first name";
    }

    //Test Surname
    if(Test2)
    {
      If persons surname is correct, Test2 is true
    }
    else
    {
      errMsg = "Invalid surname";
    }

   //If everything is fine, add the person to a list.
   if (errMsg.equals(""));
   {
     Add Person to a list
   }
   else
   {
      throw new Exception(errMsg);
   }
}
另一答案

看来这个任务是不可能的,给我的指令没有说明为了触发一个Exception或另一个我必须注释掉代码。

以上是关于如何在多个if / else条件下使用Throws?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 JSTL 中使用 if-else 选项

如何在 if-else 条件下的列中使用 Spark 值 - Scala

如何在角度 7 中使用带有 [ngClass] 的 if-else 条件? [复制]

Javascript 中多个条件的 If-Else 语句

对于互斥条件,多个“if”语句和“if-else-if”语句是不是相同?

shell脚本中的if中多条件语句如何写。