Sisällysluettelo:
Määritelmä - Mitä Catch Block tarkoittaa?
Catch-lohko, C #: ssa, on valinnainen koodilohko, joka suoritetaan, kun poikkeus nostetaan esiin.
Catch block on erityinen osa poikkeuksellista käsittelyrakennetta, ja se toteutetaan käyttämällä "catch" avainsanaa yhdessä avainsanojen "kokeile" ja "viimein" kanssa ja muodostaa välineet jäsennellyn poikkeusten käsittelyn toteuttamiseksi. Koelohko sisältää suojatun koodin, joka voi aiheuttaa poikkeuksen. Siihen liitetään lausuntoja, joissa käsitellään poikkeuksellisia olosuhteita ja pyritään toipumaan sellaisista odottamattomista olosuhteista.
Saalislohko on väline poikkeusten käsittelemiseen. Jos näitä ei käsitellä, tämä voi johtaa koko ohjelman lopettamiseen .NET-ajoajan kuluessa. Saalislohkoa voidaan käyttää minkä tahansa tai erityisten poikkeusten käsittelemiseen.
Techopedia selittää Catch Block -sovelluksen
Common Language Runtime (CLR) -sovelluksen poikkeusten käsittelymalli sallii useamman kuin yhden saalislohkon, joista kukin on suunniteltu käsittelemään tiettyä poikkeusta. Aina poikkeuksen tapahtuessa, CLR etsii saalislohkon, joka käsittelee poikkeuksen. Jos tällä hetkellä suorittava menetelmä ei sisällä sellaista lohkoa, CLR etsii sitä menetelmässä, joka kutsui nykyisen menetelmän puhelupinoksi. Jos tälle poikkeukselle ei löydy vastaavaa lauseketta koko koodista, säikeen suorittaminen lopetetaan ja käyttäjälle näytetään käsittelemätön poikkeussanoma.
Seuraavassa on muutamia vinkkejä lukituslohkon käyttöön:
- Poikkeustyyppi on määritettävä saalislohkoon vasta sen jälkeen, kun syy erityisten ennennäkemättömien poikkeusten (kuten katastrofaalinen järjestelmän vika, API: n väärinkäyttö jne.) Taustalle on määritetty ja palautus on toteutettu jättämättä sovellusta epäjohdonmukaiseen tai virheellinen tila.
- Saalislohko tulisi sijoittaa siten, että tarkemmat poikkeukset on pyydettävä ennen vähemmän tarkempia.
- Saalislohkoon ilman parametreja viitataan "syömispoikkeuksina", koska tämä voi estää vakavia ongelmia, joita on vaikea korjata.
- Saalislohko voidaan keskittää, jotta se voi käsitellä poikkeuksen keskeisestä sijainnista.
- "Heitto" -lausetta voidaan käyttää saalislohkossa, jolle sama poikkeusobjekti, joka on ohitettu heitettäessä, voidaan ohittaa uudelleen heittämisen aikana.
- Koelohkossa ilmoitettuja muuttujia ei voida käyttää sen ulkopuolella.
- Koodia ei palauteta takaisin yrityslohkoon, kun saalislohko on suoritettu.
- Poikkeuskäsittelijän koodin testaaminen saalislohkossa on välttämätöntä sovelluksen rikkoutumisen välttämiseksi.
- Catch-lohkoa ei tule käyttää puhdistuskoodiin.
- Catch-lohkoa ilman parametreja ei voida käyttää käsittelemään ei-yleisiä kielijärjestelmä-yhteensopivia poikkeuksia (joita ei ole johdettu System.Exception-järjestelmästä).
