Šis straipsnis yra veidrodinis mašininio vertimo straipsnis, spauskite čia norėdami pereiti prie originalaus straipsnio.

Rodinys: 15557|Atsakyti: 0

[Komunikatas] Jei yra grąžinimas, pabandykite pagaliau sugauti vykdymo tvarką

[Kopijuoti nuorodą]
Paskelbta 2015-12-17 12:34:00 | | |
1. Nepriklausomai nuo to, ar yra išimtis, ar išimtis, galutiniame bloke esantis kodas bus vykdomas;
2. Kai yra grįžimas bandyti ir sugauti, galiausiai vis tiek bus įvykdytas;
3. Galiausiai vykdoma po išraiškos operacijos po grąžinimo (šiuo metu reikšmė po operacijos negrąžinama, bet pirmiausia išsaugoma grąžinama reikšmė, nepriklausomai nuo kodo galiausiai, grąžinta reikšmė nesikeis, net jei tai yra anksčiau išsaugota reikšmė), todėl funkcijos grąžinimo vertė nustatoma prieš galutinį vykdymą;
4. Geriausia neįtraukti grąžinimo į galutinį, kitaip programa bus uždaryta anksti, o grąžinama vertė nėra grąžinama vertė išsaugota bandyti arba sugauti.
Pavyzdys:
1 situacija:try{} catch(){}finally{} return;
            Matyt, procedūra atliekama tvarkingai.
2 situacija:try{ grįžti; }catch(){} pagaliau{} grįžti;
          Programa vykdo kodą prieš grąžinant bandymo bloke (įskaitant išraiškos operaciją grąžinimo sakinyje);
         tada vykdyti galutinį bloką, ir galiausiai vykdyti grįžti bandyti;
         Galiausiai blokuoti grįžimą, nes programa grįžo bandant, todėl ji nebevykdoma.
3 situacija:try{ } catch(){return; } pagaliau{} grįžti;
         Programa pirmiausia vykdo bandymą, o jei susiduria su išimtimi, vykdo gaudymo bloką,
         Jei yra išimtis, vykdykite kodą prieš grąžinimą (įskaitant išraiškos operaciją grąžinimo sakinyje) laimikyje, o tada vykdykite visą kodą galutiniame sakinyje.
                     Galiausiai atlikite grąžinimą gaudymo bloke. Galiausiai kodas 4 vietose nebebus vykdomas.
         Ne išimtis: vykdykite bandymą ir galiausiai grįžkite.
4 situacija:try{ grįžti; }catch(){} pagaliau{grįžti; }
          Programa vykdo kodą prieš grąžinant bandymo bloke (įskaitant išraiškos operaciją grąžinimo sakinyje);
          Tada vykdykite paskutinį bloką, nes paskutiniame bloke yra grąža, todėl išeikite anksti.
5 atvejis:try{} catch(){return; }pagaliau{grįžti; }
          Programa vykdo kodą prieš grąžinimą (įskaitant išraiškos operacijas grąžinimo sakinyje) gaudymo bloke;
          Tada vykdykite paskutinį bloką, nes paskutiniame bloke yra grąža, todėl išeikite anksti.
6 situacija:try{ grįžti; }catch(){grįžti; } pagaliau{grįžti; }
          Programa vykdo kodą prieš grąžinant bandymo bloke (įskaitant išraiškos operaciją grąžinimo sakinyje);
          Yra išimtis: vykdyti kodą prieš grąžinimą (įskaitant išraiškos operaciją grąžinimo sakinyje) gaudymo bloke;
                       Tada vykdyti galutinis blokas, nes yra grįžimas į galutinį bloką, todėl jis išeina anksti.
          Ne išimtis: tada vėl vykdykite paskutinį bloką ir išeikite anksčiau, nes paskutiniame bloke yra grąža.

Galutinė išvada: Bet koks grąžinimo pareiškimas bandymo arba laimikio atveju vykdomas prieš galutinį pareiškimą, jei jis galiausiai yra.
                  Jei pagaliau yra grąžinimo pareiškimas, programa grįš, taigi grąžinimas galiausiai tikrai bus grąžintas.
                  Kompiliatorius pagaliau įgyvendina grąžinimą kaip įspėjimą.




Ankstesnis:.net naudoja "HttpListener" turiniui klausytis ir naudoja gijas, kad atsakytų vartotojams, kad būtų išvengta blokavimo
Kitą:VS2013, greitai pasiekite tam tikrą kodo eilutę, kokia yra nuoroda?
Atsakomybės apribojimas:
Visa programinė įranga, programavimo medžiaga ar straipsniai, kuriuos skelbia Code Farmer Network, yra skirti tik mokymosi ir mokslinių tyrimų tikslams; Aukščiau nurodytas turinys negali būti naudojamas komerciniais ar neteisėtais tikslais, priešingu atveju vartotojai prisiima visas pasekmes. Šioje svetainėje pateikiama informacija gaunama iš interneto, o ginčai dėl autorių teisių neturi nieko bendra su šia svetaine. Turite visiškai ištrinti aukščiau pateiktą turinį iš savo kompiuterio per 24 valandas nuo atsisiuntimo. Jei jums patinka programa, palaikykite autentišką programinę įrangą, įsigykite registraciją ir gaukite geresnes autentiškas paslaugas. Jei yra kokių nors pažeidimų, susisiekite su mumis el. paštu.

Mail To:help@itsvse.com