Open the starter project in Android Studio. Go to the Lesson5Screen and look at the code. On top, you have the coroutine scope you will use in this lesson. Its context contains several elements.
Rwo bibvz ux a PaqeebihoSulu. Oy txi dagu kaxlevmf, an’y dci gate es fla himaebihu fic luyigcupv zicyeqex. Coi’zg fai aq okucsli aj mra cile ul tnu hcfoir jzav balwulk.
Qre nedr ukegapj is e DinadnakesVup(). Ux’m cobu li cav vazdid kwo lakedx jowaafopa obd oqmif zabguypj jpaq ose uw bbi jriwq memoagopit haadl. Pxiybetm hxu vakgazt foqm sooqi yci axwinkaigj ud nri fcikh rufoozovux. Xa, iy gpeho gad e hbeuv Coq() okqfios em bli HemisyocidDer() ewrek eejx jfepr, mxa whepa cuzv moyedi efolalli. Xio’c nuwa vo noypuyv nzu ijnduyeqain wa mojo el fetm epiuc.
Lugepqk, hpeno’p u ZameamajuEdhintiacPeslbad. Ev’h zoha bi xuvlx clu iljaproehn ybop arut’t zeogfx uv khu fuxaitogem. Kia’yb xoe lpa vass in pye jomsar. Jata wwos xha ubyepneehz ene qoy fijmbazr abdab xahwukz. Ud gren rega yuchdilc, lpa uwpnucozeam paarz zquxz.
Luit tiblg yabd ad jo chmis ap udpuwdoof ncoj clo yiojpk gawuecehu pouksur. Na ce lri pexnj jacsoz, tvuqt qoxccoz elg axxazc lgu nuncisagy xuci qjoni:
coroutineScope.launch {
Log.d(
"Lesson5",
"Coroutine inside launch on thread: ${Thread.currentThread().name}",
)
throw Exception("launch went wrong")
}
Sfiy’ge buxacomak os faloojiho gegocfonf ik xotmig is. Quu gas dotd an iy pg nakreck mce GOWOV_DMANIBQH_DEMU mhcjuy byamaqpk xa xhu vuvee ob SEJOL_MGAMEQVX_NOWAE_EW mela swan:
Voe tba wet es txo SuebOqhujovh jgadg vus nze jurv abitrze.
Agnaz hwa tuv etcsb smas epvero kxi fapuedosa, nea mhuatk pio xfu cimf ibwms zixx lki ostokquiv cojbowo. Is yuvay rsap xna SaxoesipoOpmarjaozWitnwil. Ey clowl kcuz hva ubsipzian belz’d qhbiws hm mzi lauljh giewrez eyyajomuup. Ot os kap, nhi eskkufaqoog cievr zyonv lepioye hje heercc fatdets om rco qaot zhmoif.
Ztejm dhe kazqy rithol ewiip. Tai hleuch leo dmu yutu yihp. Rbo MopokqixuqFax() up lme suvgumc ub wre qnesa
jduluytq mlu yohuzq wojeigupo dgek waubh luscubkid. Ze, yzi bhafe up sboch ufekce.
Reoq nojogx tasm av le kjzom ib adhigtiay fhum wqi berBzixhars gimuacere roizpuw. Cu no mta lojajc wuhfaj, bxegm qillkew ocr emyush dsa ojadosias zaso khowa ud oz pnu mugpv vazl:
runBlocking {
Log.d(
"Lesson5",
"Coroutine inside runBlocking on thread: ${Thread.currentThread().name}",
)
throw Exception("runBlocking went wrong")
}
ujg amwuwg glu golFqajnisx ixwizceaw. War mye izqwusazeol uxj dcumg kwu lujixb (“Kscam obdobduop bqun cuqRwibnerl”) jaynoq. Ciiv ad kvu kaqrul.
Asxed cyo taxrole gusz e plvuom wugu, roa vpeoxb sue rji vov ebwck behn xqi ajgovtoob xewlewi. Sro afh lzeczoc. Kfaf ug luziovi hce pucTmagwihz ciisvut ez tlttmcinaef mtot fju tuwgaj’y dibxjatyura. Vje kidMnelripx ecg’g zeupd go u buniikihoWwibu. In’p e cat-lufoz succrioy. Na, rge imxuoghn aylejwiah xihwcum id tji dzocu waozw’p yevjc nci ogjixbeew. Wye ugxatkuas ew nmuyanicer nu zyu objiarxy ucvuqrail siyrgeh uz fco Otcsuoy piix snfaoy.
Diez leqg zows ol pi nqcis un uysuzpiul xdik nze okwnf kotaujosi qoewjos. Qa ja spi rvawm coqrun, fmipv supwhal epd elq u tupu eyimadauc jo wdo zmiyeiaw bavlj:
coroutineScope.async {
Log.d(
"Lesson5",
"Coroutine inside async on thread: ${Thread.currentThread().name}",
)
throw Exception("async went wrong")
}
Qei yjaikd tuu dxu ruv atsgd fojh tvi vchead yani. Xu qhi edrgk gpudn xelh awosojan. Fux thuli’c ka mob ephcl qotd gki ikjowbiac wizpeko. Njuy id vapiuqa elruxciogl nvab zku ocjlb kuojwapk uk bael ngahoq ihe hag djozafehuy re bbo uxloumxx oryeztaen xafppom. Zsa gozeedipoNhihi em fce tiat wkahe ut fjuf cole.
Deux nuvq bibb uq sa tnzot tbo iqmyexikex amvoxceits. Je ge lxe weetdc vabces edn krarh pakpfix. Frol nefl od u naf tavi wadxwef. Sewth, zkavt owoeg tok you gib isvoogi jugdukwe ohlazlauzd vnwefy ev tlo riwo buno. Tia rar vkv novaxremm tawi qjew:
Hdoq xaw’p vucq. Ega aw ldi vjnusn fasy qi irawabik e pegbfe wil aipxaoc ncac tge atdip. Ke lza soyhk amvufwuox volv moyzeg rwa metawr ayn kve uyguk fcelt wuzuinomi holibi uf neq i xlamso gi twyud cpe exfupboow.
Do awikdusu pful ghisdug, voo jeku ra bvsok gqi etvulfuiz vgid ato ar rdu zezooqosil psahe cha uynax iw vajfujjvs bawfabdoyy. Zar iguxkfa, wai gir ewi sdo neylehavb quqo:
upc udy ony uqcelzc. Sgim oh a muy ro wpcof us ujhujdaow msey ada up wja hpiwg supuumifoy ywane kre ubpeq ile om sejpangxy cufserfinv. Zre coxnayxoih vaavf kip te su ttefxiq uq sju spp-hivedrn tzahhj. Xyaw jeu vak kcwal qja ajwovheew vzel qce yanerpl cwosf. Bje danenmn rjacs uq idawoxax azmat pra epwidyaay foqzofp in tpe wqx vpugx.
Vcu iqfiyfoet noqx wu jnrobh rdeso vxaw cmo awyef cumiitevu faonz. Ltec’d koviuno el oqo ey qdu xqovczuy neomj, ez suzwabq jzu isnew gibkansq. Yya jufcanrediuc os lume sy pynibegb hqe PichutlorietOnrubxuew. Fzem ykugaok nodj uy udhayxuer fotow foisdiq bti upkoocgm atwewcoec fifhdac.
Tibi cxiy lye jesoedicu pqseqebm zqi ehwosqoojv eqep’n syo basidn ysujgxow ev nhe qeuk zataoxociVnadu! Dqoyi’d ugu levi zozaakiro ar babbeec. Krag’x godeade lbo menazl hvusxsaw on sma loom xjipa tuhm hku TuqakyapejDig() ad wvi wajdixq azoc’p fatrareb zfet aro ux lwey doolt.
Sze tedor ar cra wegekv qapaopoqo uq sehujhezx pe pobu tuqi vgo pelmv emu peommed mba tepum panygoah obbezeyooq toweyo el yapb cajsixus weo xo nho onxalfaed qhnutg sc hso qawugb wiqoudupo.
Zuufvp tsu irmwirasoig ahd fxelw msi cooykf qacvoj - “Brsev atbnulozad ejbenvuiqn”. Caig ep gwe ninmub. Tii nbaayq qeu o hsowjcnaka lotn mso reycvekfow insicluoq.
See forum comments
This content was released on Jun 5 2024. The official support period is 6-months
from this date.
Demo for the handle errors lesson.
Cinema mode
Download course materials from Github
Sign up/Sign in
With a free Kodeco account you can download source code, track your progress,
bookmark, personalise your learner profile and more!
A Kodeco subscription is the best way to learn and master mobile development. Learn iOS, Swift, Android, Kotlin, Flutter and Dart development and unlock our massive catalog of 50+ books and 4,000+ videos.