Warum behandelt die Ausnahme „IndexError“ den Fehler nicht, wenn auf einen Index außerhalb der Liste zugegriffen wird?Python

Python-Programme
Anonymous
 Warum behandelt die Ausnahme „IndexError“ den Fehler nicht, wenn auf einen Index außerhalb der Liste zugegriffen wird?

Post by Anonymous »

Das ist der Code, mit dem ich Probleme habe:

Code: Select all

taskList = ["a", "b", "c", "d", "e", "f"]

def main() :
while True :
try :
indx = int(input("Enter the task index : "))
if (indx - 1)  0 :
process(indx)
except IndexError :
print("Out of range")
except :
print("Input must be a number")
else :
return

def process(indx) :
while True :
print(f"{indx}. {taskList[indx - 1]}")
usrinput = input("Confirm : [Y/n]")
if usrinput == "Y" or usrinput == "y" :
taskList.pop(indx - 1)
print(f"Delete successfull")
return
elif usrinput == "N" or usrinput == "n" :
print("Canceling...")
return
else : print("the answer should be just y or n")

main()
Ich habe es vereinfacht, um das Debuggen zu erleichtern, ohne die Hauptlogik zu ändern, aber wenn ich auf einen Index außerhalb der Liste zugreife, gibt das Programm nicht „Außerhalb des Bereichs“ aus und zeigt einfach nichts an, obwohl ich bereits die IndexError-Ausnahme mache.
Auf den richtigen Index zugreifen:
Bildbeschreibung hier eingeben
Auf Index außerhalb der Listengröße zugreifen:
Geben Sie hier eine Bildbeschreibung ein

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post