0
can someone find the error
def safe_print_list(my_list=[], x=0): i = 0 count = 0 while (i < x): try: print("{:d}".format(my_list[i]), end="") count += 1 except (TypeError, ValueError, IndexError): pass i += 1 print("") return count my_list = [1, 2, 3, 4, 5] nb_print = safe_print_list(my_list, 2) print("nb_print: {:d}".format(nb_print)) nb_print = safe_print_list(my_list, len(my_list)) print("nb_print: {:d}".format(nb_print)) nb_print = safe_print_list(my_list, len(my_list) + 2) print("nb_print: {:d}".format(nb_print))
1 Odpowiedź
+ 1
The code runs as written. The only issue I see is that on the exception, you are not printing anything so you don't see a message when there is an error. The error is being trapped, as it should, but you don't output any messages regarding the error.
Try adding a print statements within your except block and see if that tells you what you need to know.
except (TypeError, ValueError, IndexError):
if TypeError:
print(TypeError)
if ValueError:
print(ValueError)
if IndexError:
print(IndexError)