allows accessing undefined values without raising an exception, but preserves other errors like TypeError, AttributeError, etc
allows accessing undefined values without raising an exception, but preserves other errors like TypeError, AttributeError, etc