Java 是否可以进行多次尝试,但只进行一次捕获

Java 是否可以进行多次尝试,但只进行一次捕获,java,exception,Java,Exception,我将多个球员加入到一个团队中,每个球员都需要一次试一试,但接球总是一样的 try{ team.addPlayer( new Player( 1, "PLYR1" ) ); } catch ( Exception e ){ System.out.println( e.toString() ); } try { team.addPlayer( new Player( 2, "PLYR2" ) ); } catch ( Exception e ){ System

我将多个球员加入到一个团队中,每个球员都需要一次试一试,但接球总是一样的

try{
    team.addPlayer( new Player( 1, "PLYR1" ) );
} catch ( Exception e ){
     System.out.println( e.toString() );
}

try {
     team.addPlayer( new Player( 2, "PLYR2" ) );
} catch ( Exception e ){
     System.out.println( e.toString() );
}

有什么方法可以简化这一点吗?

正如您在评论中所说的,您可以使用这个

try{
    team.addPlayer( new Player( 1, "PLYR1" ) );
    team.addPlayer( new Player( 2, "PLYR2" ) );
} catch ( Exception e ){
     System.out.println( e.toString() );
}
当然,如果您关心是否添加了第一个玩家,请使用以下命令:

try{
    team.addPlayer( new Player( 1, "PLYR1" ) );
    try {
         team.addPlayer( new Player( 2, "PLYR2" ) );
    } catch ( Exception e ){
         System.out.println( e.toString() );
    }
} catch ( Exception e ){
     System.out.println( e.toString() );
}

您可以尝试此代码,而不是使用两个try块

try{
    team.addPlayer( new Player( 1, "PLYR1" ) );
     team.addPlayer( new Player( 2, "PLYR2" ) );
} 
catch ( Exception e ){
     System.out.println( e.toString() );
}

如果您想使用catch遍历所有可能的播放器,并在出现异常时向stdout抛出相同的错误,那么应该使用基本for循环

假定定义了玩家类并创建了团队对象:

String[] players = {"PLYR1", "PLYR2", "PLYR3"}

for (String player: players) {
  try{
      team.addPlayer( new Player( 1, player ) );
  } catch ( Exception e ){
       System.out.println( e.toString() );
  }
}

你可以在同一个try子句中添加玩家,并且只有一个catch。答案是肯定的,但具体方式取决于你想要的行为。例如,如果添加播放机1失败,您是想尝试添加播放机2还是想停止?可能会重复