Я поднимаю исключения в двух разных местах в моем коде Python:
holeCards = input("Select a hand to play: ")
try:
if len(holeCards) != 4:
raise ValueError(holeCards + ' does not represent a valid hand.')
И (отредактировано для исправления кода повышения)
def __init__(self, card):
[...]
if self.cardFace == -1 or self.cardSuit == -1:
raise ValueError(card, 'is not a known card.')
По какой-то причине первый выводит каскадную строку, как я и ожидал:
ERROR: Amsterdam does not represent a valid hand.
Но второй выводит какой-то странный гибрид множества и строки:
ERROR: ('Kr', 'is not a known card.')
Почему оператор "+" ведет себя по-разному в этих двух случаях?
Редактировать: Вызов init выглядит так:
card1 = PokerCard(cardsStr[0:2])
card2 = PokerCard(cardsStr[2:4])