miten parhaiten käyttää Try paitsi Pythonissa-erityisesti aloittelijoille

Python-ohjelmoinnissa poikkeusten käsittely mahdollistaa ohjelmoijan virtauksen ohjauksen. Eikä ole. sisäänrakennettu poikkeuksia saalis virheitä, jos koodi rikkoutuu. Käyttämällä try-paitsi on yleisin ja luonnollinen tapa käsitellä odottamattomia virheitä sekä monia muita poikkeus käsittely konstruktioita. Tässä opetusohjelmassa pääset tutustumaan parhaisiin try – tekniikoihin-paitsi Pythonissa.

Virheiden käsittely tai poikkeusten käsittely Pythonissa voidaan toteuttaa asettamalla poikkeuksia. Käyttämällä try lohko, voit toteuttaa poikkeuksen ja käsitellä virheen sisällä paitsi lohko. Aina kun koodi rikkoutuu try-lohkon sisällä, säännöllinen koodivirta pysähtyy ja ohjaus siirtyy lukuun ottamatta-lohkoon virheen käsittelyä varten.

myös Lue – Opi Python-poikkeusten käsittely tyhjästä.

Miksi käyttää Try-paitsi / Try-paitsi-else-lauseketta? Avulla try-paitsi ja try-paitsi-else, voit välttää monia tuntemattomia ongelmia, jotka voisivat syntyä koodin. Esimerkiksi Python-koodi käyttäen LBYL (Katso ennen kuin hyppäät) – tyyliä voi johtaa kisaolosuhteisiin. Tässä, try-paitsi lauseke voi tulla pelastamaan sinut. Myös, on tapauksia, joissa koodi riippuu kriittisesti joitakin tietoja, jotka voivat vanhentua kunnes saat sen. Esimerkiksi koodi, joka soittaa puheluita käyttöjärjestelmään.polku.olemassa tai jonossa.täysi voi epäonnistua, koska nämä toiminnot saattavat palauttaa tietoja, jotka muuttuvat vanhentuneiksi sitä käytettäessä. Viisaampi valinta tässä olisi seurata try-paitsi-else tyyli koodin hallita edellä tapauksissa luotettavammin.

poikkeusten nostaminen on sallittua myös Pythonissa. Se tarkoittaa, että poikkeuksen voi heittää tai nostaa aina, kun sitä tarvitaan. Voit tehdä sen yksinkertaisesti soittamalla koodistasi. Kun esille, poikkeus pysäyttää nykyisen suorittamisen tavalliseen tapaan ja menee pidemmälle ylös puhelun pinossa, kunnes käsitellään.

Miksi käyttää poikkeuksia? Ne eivät ainoastaan auta ratkaisemaan suosittuja ongelmia, kuten rotu olosuhteissa, mutta ovat myös erittäin hyödyllisiä valvoa virheitä alueilla, kuten silmukoita, tiedostojen käsittely, tietokanta viestintä, verkkoon pääsy ja niin edelleen.

siksi, me kattaa laajempia ongelmia ja tarjota ratkaisuja tässä viestissä. Huomaa, että poikkeusten käsittely on taidetta, joka tuo sinulle valtavat voimat kirjoittaa vankkaa ja laadukasta koodia. Valmistaudu siis lukemaan joitakin avainpuheenvuoroja poikkeuksista sekä parhaita tapoja käsitellä niitä.

täytyy lukea – kaikki mitä sinun tulisi tietää Python-Kopiotiedostosta .

Python: Vinkkejä Try-paitsi, Try-paitsi-Else, ja lisää

miten parhaiten käyttää Try-paitsi Pythonissa
miten parhaiten käyttää Try-paitsi Pythonissa
  • miten hoitaa mielivaltainen poikkeus
  • Catch useita poikkeuksia yhdessä paitsi lohkossa
  • käsittely useita poikkeuksia yhdessä paitsi lohkossa
  • poikkeusten nostaminen uudelleen Pythonissa
  • milloin käyttää else-lauseketta
  • käytä avainsanana tiettyjen Poikkeustyyppien pyyntiin
  • poikkeukset
  • kuinka ohittaa virheet ja jatkaa suoritusta
  • yleisimmät poikkeusvirheet Pythonissa
  • esimerkkejä yleisimmistä poikkeuksista Pythonissa

1. Miten käsitellä mielivaltaista poikkeusta

joskus, saatat tarvita tapaa sallia mielivaltainen poikkeus ja haluat myös pystyä näyttämään virhe-tai poikkeussanoman.

se on helposti saavutettavissa Python-poikkeusten avulla. Tarkista alla oleva koodi. Testauksen aikana voit sijoittaa koodin try-lohkon sisään alla olevassa esimerkissä.

try: #your codeexcept Exception as ex: print(ex)

takaisin huipulle

2. Catch useita poikkeuksia yhdessä paitsi lohkossa

voit saalis useita poikkeuksia yhdessä paitsi lohkossa. Katso alla oleva esimerkki.

except (Exception1, Exception2) as e: pass

huomaa, että poikkeukset muuttujasta voi erottaa Python 2.6 / 2.7: ssä sovellettavalla pilkulla. Python 3: ssa sitä ei kuitenkaan voi tehdä. Niin, sinun pitäisi mieluummin käyttää avainsanaa.

takaisin alkuun

3. Useiden poikkeusten käsittely yhdellä paitsi lohkolla

on monia tapoja käsitellä useita poikkeuksia. Ensimmäinen niistä edellyttää sijoittamista kaikki poikkeukset, jotka todennäköisesti esiintyvät muodossa tuple. Katso alta.

try: file = open('input-file', 'open mode')except (IOError, EOFError) as e: print("Testing multiple exceptions. {}".format(e.args))

seuraava tapa on käsitellä jokainen poikkeus omana lukuunottamatta lohkoa. Voit lisätä niin monta paitsi lohkot kuin tarvitaan. Katso alla oleva esimerkki.

try: file = open('input-file', 'open mode')except EOFError as ex: print("Caught the EOF error.") raise exexcept IOError as e: print("Caught the I/O error.") raise ex

viimeinen mutta ei vähäisin on käyttää paitsi mainitsematta mitään poikkeusattribuuttia.

try: file = open('input-file', 'open mode')except: # In case of any unhandled error, throw it away raise

tämä menetelmä voi olla hyödyllinen, jos sinulla ei ole aavistustakaan ohjelman mahdollisesti heittämästä poikkeuksesta.

takaisin alkuun

4. Pythonissa

kerran esiin nostetut poikkeukset nousevat kutsumenetelmiin, kunnes niitä käsitellään. Vaikka voit lisätä paitsi lauseke, joka voisi vain olla puhelun ilman perusteluja. Se johtaa poikkeuksen uusimiseen.

katso alla oleva esimerkkikoodi.

try: # Intentionally raise an exception. raise Exception('I learn Python!')except: print("Entered in except.") # Re-raise the exception. raise

Lähtö:

Entered in except.Traceback (most recent call last): File "python", line 3, in <module>Exception: I learn Python!

takaisin huipulle

5. Milloin käyttää else-lauseketta

käytä else-lauseketta heti try-eston jälkeen. Else-lauseke saa osuman vain, jos poikkeusta ei heitetä. Else-lausekkeen tulisi aina edeltää paitsi lohkoja.

else-lohkoihin voit lisätä koodin, jonka haluat suorittaa, kun virheitä ei ole tapahtunut.

katso alla oleva esimerkki. Tässä otoksessa näet while Loopin käynnissä äärettömästi. Koodi pyytää käyttäjän syötteen ja jäsentää sen sisäänrakennetun toiminnon avulla. Jos käyttäjä syöttää nolla-arvon, niin paitsi-lohko saa osuman. Muuten koodi virtaa else-lohkon läpi.

while True: # Enter integer value from the console. x = int(input()) # Divide 1 by x to test error cases try: result = 1 / x except: print("Error case") exit(0) else: print("Pass case") exit(1)

takaisin huipulle

6. Käytä

Jos sinulla on koodi, jonka haluat ajaa kaikissa tilanteissa, kirjoita se sisälle. Python ajaa aina ohjeet koodattu . Se on yleisin tapa tehdä siivoustehtäviä. Voit myös varmistaa, että siivous menee läpi.

virhe jää kiinni try-lausekkeesta. Kun koodi paitsi lohko saa suorittaa, ohjeet olisi käynnissä.

huomaa, että a juoksee aina, vaikka olisi palannut edellä.

katso alla oleva esimerkki.

try: # Intentionally raise an error. x = 1 / 0except: # Except clause: print("Error occurred")finally: # Finally clause: print("The is hit")

Lähtö:

Error occurredThe is hit

takaisin huipulle

7. As-avainsanalla voi napata tiettyjä poikkeustyyppejä

käyttämällä as <identifier> voit luoda uuden objektin. Ja voit myös poikkeus objekti. Tässä alla olevassa esimerkissä luomme IOError-objektin ja käytämme sitä lausekkeen sisällä.

try: # Intentionally raise an error. f = open("no-file")except IOError as err: # Creating IOError instance for book keeping. print("Error:", err) print("Code:", err.errno)

Lähtö:

('Error:', IOError(2, 'No such file or directory'))('Code:', 2)

takaisin huipulle

8. Paras käytäntö poikkeusten nostamiseksi manuaalisesti

Vältä yleisten poikkeusten nostamista, koska jos teet niin, myös kaikki muut tarkemmat poikkeukset on pyydettävä. Näin ollen paras käytäntö on nostaa ongelmaasi liittyvä erityispoikkeus esille.

huono esimerkki.

def bad_exception(): try: raise ValueError('Intentional - do not want this to get caught') raise Exception('Exception to be handled') except Exception as error: print('Inside the except block: ' + repr(error)) bad_exception()

Output:

Inside the except block: ValueError('Intentional - do not want this to get caught',)

Best Practice:

Here, we are raising a specific type of exception, not a general one. Ja käytämme myös args vaihtoehto tulostaa virheellisiä argumentteja, jos on olemassa. Katsotaanpa alla olevaa esimerkkiä.

try: raise ValueError('Testing exceptions: The input is in incorrect order', 'one', 'two', 'four') except ValueError as err: print(err.args)

Lähtö:

('Testing exceptions: The input is in incorrect order', 'one', 'two', 'four')

takaisin huipulle

9. Kuinka ohittaa virheet ja jatkaa suoritusta

Ihannetapauksessa sinun ei pitäisi tehdä tätä. Mutta jos haluat silti tehdä, seuraa alla olevaa koodia tarkistaa oikea lähestymistapa.

try: assert Falseexcept AssertionError: passprint('Welcome to Prometheus!!!')

Lähtö:

Welcome to Prometheus!!!

Back to top

Katso nyt muutamia yleisimpiä Python-poikkeuksia ja niiden esimerkkejä.

yleisimmät poikkeusvirheet

  • IOError – se tapahtuu virheille, kuten tiedosto ei avaudu.
  • ImportError – jos python-moduulia ei voi ladata tai paikantaa.
  • Arvovirhe – se tapahtuu, jos funktio saa oikeantyyppisen argumentin, mutta epäasianmukaisen arvon.
  • KeyboardInterrupt – se saa osuman, kun käyttäjä syöttää keskeytysnäppäimen (eli Control-C tai Del – näppäin)
  • EOFError-se nousee, jos syötetoiminnot (input () / raw_input()) osuvat tiedoston loppuehtoon (EOF), mutta tietoja lukematta.

Back to top

esimerkkejä yleisimmistä poikkeuksista

except IOError:print('Error occurred while opening the file.')except ValueError:print('Non-numeric input detected.')except ImportError:print('Unable to locate the module.')except EOFError:print('Identified EOF error.')except KeyboardInterrupt:print('Wrong keyboard input.')except:print('An error occurred.')

Back to top

Yhteenveto – kuinka parhaiten käyttää Try-paitsi Pythonissa

ohjelmoinnissa virheitä tapahtuu vääjäämättä. Se on tosiasia, jota kukaan ei voi sivuuttaa. Ja virheisiin voi olla monia syitä, kuten huono käyttäjän syöttö, riittämätön tiedoston käyttöoikeus, verkkoresurssin epäkäytettävyys, riittämätön muisti tai todennäköisesti ohjelmoijan virhe.

Anyways, kaikki tämä voidaan käsitellä, jos koodi käyttää poikkeusten käsittelyä ja toteuttaa sen konstruktioita kuten try-paitsi, tai tr-paitsi-else, try-paitsi-lopulta. Hope, olisit nauttinut lukea edellä opetusohjelma.

Jos tykkäsit postauksesta, niin älä missaa jakaa sitä kavereiden kanssa ja sosiaalisessa mediassa (facebook / twitter).

Best,
TechBeamers.



Vastaa

Sähköpostiosoitettasi ei julkaista.