On 2017-09-22 10:55, Ganesh Pal wrote: > I have two possible values for Z_block in the block code i.e > disk_object.data.data.di_data[0] or block.data.data.di_data.data[0][0] > > > def get_block(): > ''' Get Z block '' > > if block.data.data.di_data.data[0][0] is not None: > Z_block = block.data.data.di_data.data[0][0] > > else: > Z_block = disk_object.data.data.di_data[0] > > if not Z_block: > return False > > return Z_block > > > > > I have a problem with if and else satement i.e if IF codition fails the > code would exit with "AttributeError: 'list' object has no attribute > 'data' " error > > Any suggestion on how this can be handled better , Will ignoring the > exceptions in try -except with pass be good or are there easier ways ) , > > > try: > Z_block = block.data.data.di_data.data[0][0]except AttributeError as e: > > pass
try: return self.some.attribute.or.another except AttributeError: return DEFAULT_VALUE is a perfectly good pattern to use. > > > I am a Linux user on Python 2.7 Have you considered moving to Python 3? > > > Regards, > Ganesh > -- Thomas Jollans -- https://mail.python.org/mailman/listinfo/python-list