6 svar
141 visningar
Qetsiyah behöver inte mer hjälp

Gör att ett program slutar köra när den får en fel input

Jag vill göra något liknande:

if type(newelement) != type("sträng"):
	print("Kan bara hantera strängar, du gav en", type(newelement))
	break
Laguna Online 30416
Postad: 5 apr 2022 21:00

Tjaha, var kommer newelement ifrån och vilken typ har den?

Om du har läst in den med 'input' så är den alltid en sträng.

Det har jag inte tänkt på men min fråga var hur man får programmet att stanna?

Laguna Online 30416
Postad: 6 apr 2022 09:27 Redigerad: 6 apr 2022 09:28

Du kan använda exit(0), så avslutas programmet direkt.

Annars avslutas programmet om det når slutet på koden, så om du gör break ut ur alla loopar och låter anropade funktioner returnera så avslutas det.

Om du vill meddela till användaren att ett fel har uppstått, så är en annan statuskod än 0 bra, t.ex.exit(1).

 

Qetsiyah Online 6567 – Livehjälpare
Postad: 6 apr 2022 11:10 Redigerad: 6 apr 2022 11:18

Okej!

Jag kom på nåt annat, skulle lösningen assert 1==2 anses vara bad practice/osmart lösning?

Laguna Online 30416
Postad: 6 apr 2022 16:05

Ja, verkligen.

Om du någonstans i programmet t.ex. har en variabel som borde ha en viss typ eller en lista som inte borde vara tom, men vill ta hand om fallet att det finns ett fel någon annanstans i programmet och sluta exekvera innan det blir allt konstigare konsekvenser, så kan du använda assert där. 

Hmm... ja ok!

Svara
Close