Hem Personliga finanser Hur man hanterar mer specifik för mindre specifika undantag i Python-dummies

Hur man hanterar mer specifik för mindre specifika undantag i Python-dummies

Video: Section 7 2024

Video: Section 7 2024
Anonim

En strategi för hantering av undantag i Python är att ge specifika undantag för klausuler för alla kända undantag och generiska förutom klausuler för att hantera okända undantag. Kolla in undantagshierarkin som Python använder. När du tittar på det här diagrammet är BaseException det översta undantaget. De flesta undantagen härrör från undantag. När du arbetar med mattefel kan du använda den generiska ArithmeticError eller ett mer specifikt ZeroDivisionError-undantag.

Python utvärderar förutom klausuler i den ordning de visas i källkodsfilen. Den första klausulen granskas först, den andra klausulen granskas andra, och så vidare. Följande steg hjälper dig att undersöka ett exempel som visar vikten av att använda rätt undantagsorder. I det här fallet utför du uppgifter som resulterar i matematiska fel.

  1. Öppna ett Python-filfönster.

    Du ser en redigerare där du kan skriva exempelkoden.

  2. Skriv följande kod i fönstret - tryck på Enter efter varje rad:

    försök: Value1 = int (input ("Skriv första numret:")) Value2 = int (input Skriv in det andra numret: ")) Utgång = Värde1 / Värde2 utom ValueError: Skriv ut (" Du måste skriva ett heltal! ") Utom KeyboardInterrupt: print (" Du tryckte Ctrl + C! ") Utom ArithmeticError: print (" En odefinierad matte fel inträffade. ") utom ZeroDivisionError: print (" Försök att dela med noll! ") annat: print (Output)
    

    Koden börjar med att få två ingångar: Value1 och Value2. De två första undantagsklausulerna hanterar oväntad inmatning. De andra två utom klausuler hanterar matematiska undantag, som att dividera med noll. Om allt går bra med applikationen, körs annars klausulen, vilket skriver ut resultatet av operationen.

  3. Välj Kör → Kör modul.

    Du ser ett Python Shell-fönster öppet. Ansökan ber dig skriva det första numret.

  4. Skriv Hej och tryck på Enter.

    Som förväntat visar Python ValueError-undantagsmeddelandet. Men det lönar sig alltid att kontrollera efter eventuella problem.

  5. Välj Kör → Kör modul igen.

    Du ser ett Python Shell-fönster öppet. Ansökan ber dig skriva det första numret.

  6. Skriv 8 och tryck på Enter.

    Ansökan ber dig ange det andra numret.

  7. Skriv 0 och tryck på Enter.

    Du ser felmeddelandet för undantaget ArithmeticError. Vad du egentligen bör se är undantaget ZeroDivisionError eftersom det är mer specifikt än undantaget ArithmeticError.

  8. Omvänd ordningen för de två undantagen så att de ser så här ut:

    förutom ZeroDivisionError: print ("Försök att dela med noll!") Utom ArithmeticError: print ("Ett odefinierat mattefel inträffade.") > Utför steg 5 till 7 igen.
    
  9. Den här gången ser du undantagsmeddelandet ZeroDivisionError eftersom undantagen visas i rätt ordning.

    Utför steg 5 till 7, men skriv 2 för det andra numret istället för 0.

  10. Den här gången rapporterar programmet slutligen ett utgångsvärde på 4. 0.

    Observera att utsignalen är en flytande punktvärde. Divisionen resulterar i ett flytande punktvärde om du inte anger att du vill ha ett heltalsprodukt genom att använda golvdelningsoperatören (//).

Hur man hanterar mer specifik för mindre specifika undantag i Python-dummies

Redaktörens val

Hur man justerar inställningar för din bakgrund i Gamestar Mechanic - dummies

Hur man justerar inställningar för din bakgrund i Gamestar Mechanic - dummies

När du har lagt till en Bakgrund till ditt spel kan du ytterligare anpassa bakgrunden i Gamestar Mechanic genom att använda två ytterligare alternativ i dialogrutan Nivåinställningar: Bakgrundsrullning och Bakgrundsstil. Bakgrundsrullning Parallaxen är en viktig egenskap hos bakgrunden i spel där alternativet Fler skärm är valt. Redigerbar ...

Hur man balanserar svårigheten hos ett Gamestar Mechanic Game - dummies

Hur man balanserar svårigheten hos ett Gamestar Mechanic Game - dummies

Det vanligaste exemplet på balansering ett spel i Gamestar Mechanic balanserar svårigheten: Gör inte spelet så lätt att det är tråkigt och gör det inte så svårt att det är frustrerande. För att finjustera spelets svårighet måste du göra små förändringar utan att bli förbunden till ...

För att kalibrera accelerometern för ditt HTML5-spel - dummies

För att kalibrera accelerometern för ditt HTML5-spel - dummies

Som standard antar HTML5-spelaccelerometern Det neutrala läget är perfekt horisontellt - det vill säga enheten ligger platt på ett bord. Men det här är mobila enheter, och spelare vill ofta ha det neutrala stället att vara någon annanstans. Grundläggande tekniken för att kalibrera tiltkontrollen är att hålla koll på en ...

Redaktörens val

Gör äta rena förändringar i livet - dummies

Gör äta rena förändringar i livet - dummies

Rena ätförändringar i ditt liv är inte svåra att göra, men de tar lite gumption, uthållighet och övning. När du gör en koncentrerad insats för att äta lägre på livsmedelskedjan, märka hur detta beslut påverkar andra delar av ditt liv. För att vara framgångsrik måste du tänka på mat och äta annorlunda, vilka ...

Köttfri måndag och hållbarhet - dummies

Köttfri måndag och hållbarhet - dummies

Köttfri måndag är ett ganska nytt koncept som ofta nämns på Facebook och Twitter. Allt det betyder är att en dag i veckan väljer du att äta vegetarian eller vegan. Inte bara kan Meatless Monday spara pengar (eftersom kött är dyrt), men planen hjälper miljön (eftersom stora kött-, fläsk- och kycklingsanläggningar skapar nitrat ...

5 Hälsofördelar Kopplade till Medelhavsdiet - dummies

5 Hälsofördelar Kopplade till Medelhavsdiet - dummies

Medelhavsdieten har länge varit prydnad för vilket ger hälsoeffekter, såsom att minska kranskärlssjukdom och minska risken för vissa cancerformer. Inklusive färska grönsaker och frukter, baljväxter och hälsosamma fetter i din kost kan hjälpa dig att förbättra din hälsa på många sätt. Forskning visar att en traditionell medelhavsdiet minskar ...

Redaktörens val

Hur man arbetar med Nikon D3300-minneskort - dummies

Hur man arbetar med Nikon D3300-minneskort - dummies

Som mediet som lagrar dina bildfiler , Nikon D3300s minneskort är en viktig del av din kamera. Följ dessa tips för att köpa och behålla kort: Köpkort: När du handlar för ett SD-minneskort är den enda specifikationen som noterar annat än kortkapaciteten kort hastighet, vilket indikerar hur snabbt data ...

Timerfotografering: Nikon D5200-dummies med Nikon D5200

Timerfotografering: Nikon D5200-dummies med Nikon D5200

Med intervall Timer Fotografering på Nikon D5200, du kan ställa in kameran för att automatiskt släppa avtryckaren med intervall som sträcker sig från sekunder till timmar från varandra. Med den här funktionen kan du fånga upp ett ämne eftersom det förändras över tiden - en teknik som är känd som fotografering med tidsfördröjning - utan att behöva stå runt på ...

JPEG Filer på Nikon D3300-dummies

JPEG Filer på Nikon D3300-dummies

Uttalad "jay-peg", det här formatet är standardinställningen på din Nikon D3300, som det är på de flesta digitalkameror. JPEG är populär av två huvudorsaker: Omedelbar användbarhet: Alla webbläsare och e-postprogram kan visa JPEG-filer, så att du kan dela bilder online direkt efter att du har tagit dem. Du kan också få en ...