Végül fut, ha próbálják vissza a verem túlcsordulását oroszul
Végül szinte mindig kész.
Frissítés, szeretném kiegészíteni válaszomat a java kivételek kezeléséről. Nézz 3 esetet, amelyek számomra érdekesek voltak. Itt van a módszer tesztFinally ()
Ebben az esetben látni fogjuk, hogy a végső blokk mindig beteljesül, amit be kell bizonyítani.
A második eset a sokféleséghez kötődik, vagy inkább azzal, hogy ez a szabály a többszálú alkalmazások esetében is igaz.
Itt is minden rendben lesz, vagyis az utolsó blokk fog működni. De nem a démonok áramlása miatt. Ironikus módon a java megöli őket, és nem fojtja el a rajongók blokkolása nélkül.
Ami bizonyítja, hogy kivételek vannak mindenütt, még kivételként is)
válaszolt december 22-12-én 9:39-kor
@Artemis Úgy döntött, hogy válaszol minden kérdésre, még régen válaszolt? - rasmisha 22 december 12-én 10:27 órakor
Ha a válasz helyes, miért mínusz? - Barmaley december 22-én 12-kor 6:14-kor
@ Artemis, a kérdések megválaszolása jó. Egyszerűen, ha a kérdést hosszú időn keresztül megfelelően megválaszolják (és ez a válasz elfogadott), akkor nem érdemes több választ adni, különösen, ha a válasz nem ad jelentős információkat. - avp 22 dec. 12, 18:54
A meglévő válaszokon kívül utalok a dokumentáció megfelelő szakaszaira is.
Miért kell végre hívni, miután a visszatérést a Java nyelvű specifikációban írjuk le a visszatérés fejezeteknél és végül:
14.17. A visszatérési nyilatkozat
.
Visszatérési nyilatkozat egy kifejezéssel megpróbálja átadni az irányítást a módszer inváziójának vagy a lambda testnek, amely tartalmazza; a kifejezés értéke a módszer felszólításának értéke lesz. Pontosabban, egy ilyen visszatérési nyilatkozat végrehajtása. Ha a kifejezés kiértékelése valamilyen oknál fogva hirtelen befejeződik, akkor a visszatérési nyilatkozat hirtelen befejeződik. Ha a kifejezés kiértékelése normálisan befejeződik, és V értéket állít elő, akkor a visszatérési utasítás hirtelen befejeződik, az ok pedig V. értékű visszatérés.
14.20.2. Megpróbáld végül végre és próbáld megfogni végre
.
Ha a próba blokk végrehajtása hirtelen befejeződik bármely más ok miatt, akkor a véglegesen végrehajtott blokk végrehajtódik, majd választhat:
- Ha a végső blokk normálisan befejeződik, akkor a próbaváltozás hirtelen befejeződik az R. ok miatt.
- Ha a végső blokk hirtelen befejeződik az S ok miatt, akkor a próbaváltozás hirtelen befejeződik az S ok miatt (és az R indukciót elvetjük).
14.17. Az utasítások vissza
.
A visszatérési utasítás a Expression kifejezéssel megpróbálja átadni a vezérlést a kódot, amely a metódust vagy az ezt az utasítást tartalmazó lambda kifejezést jelenti; Az Expression értéke a módszerhívás értékévé válik. Szigorúan az ilyen visszaküldési nyilatkozat végrehajtása először a kifejezést értékeli. Ha a kifejezés kifejezése időnként valamilyen okból befejeződik, a visszatérési nyilatkozat ugyanarra az ok miatt idő előtt befejeződik. Ha a Expression normálisan befejeződik, megadva az V értéket, akkor a visszatérési utasítás idő előtt befejeződik, mivel ez a visszatérési érték V
14.20.2. Kipróbálj végre - végre és próbálj végül elkapni
.
Ha a próba blokk végrehajtása valamilyen más okból idő előtt befejeződik, végül egy blokkot hajt végre. Az alábbi opciók lehetségesek.
- Ha a végleges blokk normálisan befejeződik, akkor a próba-utasítás túl korán befejeződik az R. miatt.
- Ha az utolsó blokk S idő előtt befejeződik, a próbaüzenet túl korán befejeződik az S miatt (az R ok figyelmen kívül hagyása).
Röviden szólva a visszahívás különleges esete a korai felmondásnak, mivel az idő előtti megszűnés végül átfedésben van, és a próba blokkban bekövetkező bármilyen idő előtti megszűnését elvetette.
Ha a próbablokkban kivételt adnak ki, amelyet egyik fogási blokk sem fog meg (ha van ilyen), a visszahíváskor el fogják kerülni és elfelejteni. vagy amikor új kivételt dobnak a végsõ soron.