Move exception rethrowing closer to the cause.

master
Bilbo 2018-10-24 20:53:55 +02:00 committed by Melvin Zhang
parent 07b23d478e
commit 27545e5df1
2 changed files with 9 additions and 9 deletions

View File

@ -8,6 +8,8 @@ import java.util.Map;
import java.util.Set;
import magic.exception.GameException;
import magic.exception.InvalidDeckException;
import magic.exception.ScriptParseException;
import magic.model.event.MagicActivation;
import magic.model.event.MagicEvent;
import magic.model.event.MagicManaActivation;
@ -99,7 +101,12 @@ public class MagicCard
}
private MagicCard(final MagicCardDefinition aCardDefinition,final MagicPlayer aOwner,final long aId, final boolean aToken) {
aCardDefinition.loadAbilities();
try {
aCardDefinition.loadAbilities();
} catch (ScriptParseException e) {
throw new InvalidDeckException(
"Error parsing " + aCardDefinition.getDistinctName() + ": " + e.getMessage(), e);
}
cardDefinition = aCardDefinition;
counters = new EnumMap<>(MagicCounterType.class);
owner = aOwner;

View File

@ -6,8 +6,6 @@ import java.util.List;
import java.util.Set;
import java.util.TreeSet;
import magic.exception.InvalidDeckException;
import magic.exception.ScriptParseException;
import magic.model.action.LoseGameAction;
import magic.model.choice.MagicBuilderManaCost;
import magic.model.event.MagicActivationPriority;
@ -486,12 +484,7 @@ public class MagicPlayer extends MagicObjectImpl implements MagicSource, MagicTa
final MagicCardDefinition cardDefinition = deck.get(i);
if (cardDefinition.isValid()) {
final long id = currGame.getUniqueId();
try {
library.add(new MagicCard(cardDefinition, this, id));
} catch (ScriptParseException e) {
throw new InvalidDeckException(
"Error parsing " + cardDefinition.getDistinctName() + ": " + e.getMessage(), e);
}
library.add(new MagicCard(cardDefinition, this, id));
}
}