Класс не имеет атрибут при помещении в блок исключений
При помещении в исключение вида try/except класс не видит атрибут item_price. При удалении try/except все отрабатывает как и должно.
Некоторая часть кода с исключением:
Class View(QtWidgets.QMainWindow, design.Ui_MainWindow):
.....
def get_data(self):
try:
self.item_price = [[self.data[0]['city'], self.data[0]['sell_price']]]
except IndexError:
pass
return self.item_price
.....
Исключение вызывается при return self.item_price.
AttributeError: 'View' object has no attribute 'item_price'
Ответы (1 шт):
Автор решения: S. Nick
→ Ссылка
Объявите self.item_price в конструкторе:
class View(QtWidgets.QMainWindow, design.Ui_MainWindow):
def __init__(self):
super().__init__()
self.item_price = [] # <----- или None
...
def get_data(self):
try:
self.item_price = [[self.data[0]['city'], self.data[0]['sell_price']]]
except IndexError:
pass
return self.item_price
...
или так
class View(QtWidgets.QMainWindow, design.Ui_MainWindow):
def __init__(self):
super().__init__()
...
def get_data(self):
try:
self.item_price = [[self.data[0]['city'], self.data[0]['sell_price']]]
except IndexError:
self.item_price = [] # <----
return self.item_price
...