diff --git a/forge-game/src/main/java/forge/game/card/CardState.java b/forge-game/src/main/java/forge/game/card/CardState.java index 97bfad4ff04..ae4f942ff2b 100644 --- a/forge-game/src/main/java/forge/game/card/CardState.java +++ b/forge-game/src/main/java/forge/game/card/CardState.java @@ -43,6 +43,9 @@ import java.util.Collection; import java.util.List; import java.util.Map; +import io.sentry.Sentry; +import io.sentry.event.BreadcrumbBuilder; + public class CardState extends GameObject { private String name = ""; private CardType type = new CardType(); @@ -213,7 +216,19 @@ public class CardState extends GameObject { if (s.trim().length() == 0) { return null; } - KeywordInterface inst = intrinsicKeywords.add(s); + KeywordInterface inst = null; + try { + inst = intrinsicKeywords.add(s); + } catch (Exception e) { + String msg = "CardState:addIntrinsicKeyword: failed to parse Keyword"; + Sentry.getContext().recordBreadcrumb( + new BreadcrumbBuilder().setMessage(msg) + .withData("Card", card.getName()).withData("Keyword", s).build() + ); + + //rethrow + throw new RuntimeException("Error in Keyword " + s + " for card " + card.getName(), e); + } if (inst != null && initTraits) { inst.createTraits(card, true); }