PowerPointi esitlus

Seotud dokumendid
PowerPointi esitlus

loeng2

I Generaatori mõiste (Java) 1. Variantide läbivaatamine Generaator (ehk generaator-klass) on klass, milles leidub (vähemalt) isendimeetod next(). Kons

(loeng3-ohtlikud_koodiloigud)

Funktsionaalne Programmeerimine

Operatsioonisüsteemide ehitus

MTAT Operatsioonisüsteemid - Turvalisus

PowerPointi esitlus

PHP

Andmed arvuti mälus Bitid ja baidid

MTAT Operatsioonisüsteemid - Turvalisus

HAJUSSÜSTEEMID HAJUSSÜSTEEMID Kaugprotseduurid IDL kompileerimine ONCIDLnäide CORBAIDLnäide MIDLnäide DCERPCmuidomadusi XML-RPC JSON-RPC REST document

Microsoft Word - ref - Romet Piho - Tutorial D.doc

Microsoft Word - Referaat.docx

Failiotsing: find paljude võimalustega otsingukäsk find kataloog tingimused kataloog - otsitakse sellest kataloogist ja tema alamkataloogidest tingimu

Mida räägivad logid programmeerimisülesande lahendamise kohta? Heidi Meier

Infix Operaatorid I Infix operaatorid (näiteks +) ja tüübid (näiteks ->) kirjutatakse argumentide vahele, mitte argumentide ette. Näiteks: 5 + 2, 2*pi

Andmeturve

SAF 7 demo paigaldus. 1.Eeldused SAF 7 demo vajab 32- või 64-bitist Windows 7, Window 8, Windows 10, Windows Server 2008 R2, Windows Server 2012, Wind

Pealkiri

Microsoft Word - essee_CVE ___KASVANDIK_MARKKO.docx

Scala ülevaade 1 Meetodid, muutujad ja väärtused. Süntaks 2 Lihtsad tüübid ja väärtused. 3 OOP, case-klassid ja mustrisobitus. 4 Puhta Scala väärtusta

AWK Aho Weinberger Kernighan struktuurse teksti töötlemise keel rikkalikult tekstitöötlusvahendeid omal alal suhteliselt lihtne ja kiiresti realiseeri

Väärtusta oma vabadust. Eesti Yale Seifide Kasutusjuhend Mudelid: YSB/200/EB1 YSB/250/EB1 YSB/400/EB1 YLB/200/EB1 YSM/250/EG1 YSM/400/EG1 YSM/520/EG1

1 / loeng Tekstitöötlus Sisend/väljund Teksti lugemine Sõnad

Tartu Ülikool Loodus- ja täppisteaduste valdkond Arvutiteaduse instituut Sandra Puusepp CVE Referaat Tartu 2018

Juhend nutiterminali seadistamiseks ja kaardimaksete vastuvõtmiseks Ingenico Link/2500 ja icmp

Programmeerimiskeel APL Raivo Laanemets 17. mai a.

E-arvete juhend

TARTU ÜLIKOOL LOODUS- JA TÄPPISTEADUSTE VALDKOND ARVUTITEADUSE INSTITUUT Lauri Kongas Turvaauk CVE Referaat aines Andmeturve MTAT Õpp

Neurovõrgud. Praktikum aprill a. 1 Stohhastilised võrgud Selles praktikumis vaatleme põhilisi stohhastilisi võrke ning nende rakendust k

KASUTUSJUHEND

Excel Valemite koostamine (HARJUTUS 3) Selles peatükis vaatame millistest osadest koosnevad valemid ning kuidas panna need Excelis kirja nii, et

Algoritmid ja andmestruktuurid

1. AKE Ajalise keerukuse empiiriline hindamine

MOOCi „Programmeerimise alused“ ülesannete lahenduste analüüs

SQL

Skriptimiskeeli, mida ei käsitletud Perl Python Visual Basic Script Edition (VBScript) MS DOS/cmd skriptid Windows PowerShell midagi eksootilisemat: G

Operatsioonisüsteemi ülesanded

Advanced AspectJ ja AspectJ 5.0 Aleksei Bogdanov 05. aprill 2006

EE-macbook-retina-12-early2015-qs.indd

Microsoft Word - EHR.docx

lvk04lah.dvi

G aiasoft Programmi VERP ja Omniva Arvekeskuse liidese häälestamine ja arvete saatmine-lugemine VERP 6.3 ja VERP 6.3E Versioon ja hilisemad K

Eesti Ettevõtluskõrgkool Mainor rakenduskõrghariduse õppekava ROBOOTIKATARKVARA ARENDUS Õppekava nimetus Õppekava nimetus inglise keeles Kõrgharidusta

Microsoft Word - EVS_ISO_IEC_27001;2014_et_esilehed.doc

IFI6083_Algoritmid_ja_andmestruktuurid_IF_3

Funktsionaalne Programmeerimine

vv05lah.dvi

Loeng03

Loeng05

Sügis 2018 Kõrgema matemaatika 2. kontrolltöö tagasiside Üle 20 punkti kogus tervelt viis üliõpilast: Robert Johannes Sarap, Enely Ernits, August Luur

Tallinna Ülikool Digitehnoloogiate instituut JavaFX rakenduste kujundamine CSS abil Seminaritöö Autor: Hendrik Spiegelberg Juhendaja: Jaagup Kippar Au

PÄRNU TÄISKASVANUTE GÜMNAASIUM ESITLUSE KOOSTAMISE JUHEND Pärnu 2019

Word Pro - diskmatTUND.lwp

Relatsiooniline andmebaaside teooria II. 6. Loeng

ArcGIS Online Konto loomine Veebikaardi loomine Rakenduste tegemine - esitlus

GRUPI-SMS Veebirakenduse kasutamise juhend Rakendus Elisa grupi-smsi rakendus Väljaandja Elisa Eesti AS Juhendi koostamise kuupäev Versioon

MTAT Operatsioonisüsteemid - protsessid

DIGITAALTEHNIKA DIGITAALTEHNIKA Arvusüsteemid Kümnendsüsteem Kahendsüsteem Kaheksandsüsteem Kuueteistkü

G TECTA 4G mitme gaasi detektor EE Lühijuhend

Võrguinverterite valik ja kasutusala päikeseelektrijaamades Robert Mägi insener

Peafail3_2.dvi

Ülesanne #5: Käik objektile Kooli ümberkujundamist vajava koha analüüs. Ülesanne #5 juhatab sisse teise poole ülesandeid, mille käigus loovad õpilased

PowerPoint Presentation

P2P süsteemid

Monitooring

Microsoft Word - TallinnLV_lihtsustatud_manual_asutuse_juhataja_ doc

Loeng12

OPERATSIOONISÜSTEEMIDE EHITUS Ülevaade Protsessi mõiste Protsesside planeerimine Operatsioonid protsessidega Protsessihaldus Protsesside koostöö Prots

Tiia Salm 2011 Online kirjastus CALAMÉO Calameo kujutab endast on-line kirjastust, mis võimaldab oma dokumente avaldada e-raamatuna tasuta. Failid (Pd

PowerPoint Presentation

Pythoni Turtle moodul ja Scratchi värvilisem pool Plaan Isikukoodi kontrollnumbri leidmine vaatame üle lahenduse kontrollnumbri leimiseks. Pythoni joo

Programmi AnimatorDV Simple+ lühike kasutajajuhend

untitled

Microsoft Word - Lisa 27.rtf

Pealkiri

Directo ja Omniva arvekeskuse (endine EAK ehk Eesti E-arvete Keskus) liidestamine

loeng7.key

EESTI STANDARD EVS-ISO/IEC 38500:2009 Avaldatud eesti keeles: oktoober 2009 Jõustunud Eesti standardina: oktoober 2009 Infotehnoloogia valitsemine org

Uudiseid k-meride abil bakterite leidmisest [Compatibility Mode]

Microsoft PowerPoint - IRZ0020_praktikum4.pptx

Share wave 5: 50+ in Europe - Coverscreenwizard version IF SKIP_INTROPAGE = 0 CoverscreenWizardIntroPage Järgnev sissejuhatus sisaldab üldküsimu

Euroopa Liidu tulevik aastal 2013 Euroopa Liidu tulevikust räägitakse kõikjal ja palju, on tekkinud palju küsimusi ning levib igasugust valeinfot, mis

Müügiarvete juhend VEP_

Tõlkija poolne märkus: Ma leidsin 2 kohta, kus oli selle mustri parandusi üleval. Esimene neist ametlik VK koduleht. Sealt leitud täiendused ei ole õi

Operatsioonisüsteemid 1. loeng

MINIPESUMASIN KASUTUSJUHEND XPM25 Täname teid selle toote ostmise eest. Villaste riiete väänamine on rangelt keelatud. Palun lugege juhendit hoolikalt

Ruutvormid Denitsioon 1. P n Ütleme, et avaldis i;j=1 a ijx i x j ; kus a ij = a ji ; a ij 2 K ja K on korpus, on ruutvorm üle korpuse K muutujate x 1

Microsoft PowerPoint - loeng.ppt

1 Keskkonnamõju analüüs Räätsa TP-702 Koostajad Koostamise aeg metsaparandusspetsialist Jüri Koort bioloogilise mitmekesisuse spetsialist T

PowerPoint Presentation

TARTU ÜLIKOOL Arvutiteaduse instituut Informaatika õppekava Mirjam Iher Nõrgima eeltingimuse staatiline analüüs pinukeeltele Bakalaureusetöö (9 EAP) J

Microsoft Word - Errata_Andmebaaside_projekteerimine_2013_06

Operatsioonisüsteemid Intelligentne arvutikasutus IFI6070 Tanel Toova

DE_loeng5

RIQASNet

Microsoft Word - TM70_SP-MG_kasutusjuhend.docx

Õppematerjalide esitamine Moodle is (alustajatele) seminar sarjas Lõunatund e-õppega 12. septembril 2017 õppedisainerid Ly Sõõrd (LT valdkond) ja Dian

Väljavõte:

Objektorienteeritud programmeerimine 10. loeng, 15. aprill Marina Lepp

Eelmisel nädalal Loeng vood Lisapraktikum Praktikum sündmused Künnipäev (14.04) Kõigi Eesti Laul (14.04) 2

Umbes mitu tundi tegelesite eelmisel nädalal selle ainega (loeng+praktikum+iseseisvalt)? 1. 0-2 tundi 2. 2-4 tundi 3. 4-6 tundi 4. 6-8 tundi 5. 8-10 tundi 6. 10-12 tundi 7. 12-14 tundi 8. üle 14 tunni 3

Kuivõrd olete selle ainega graafikus? 1. Isegi ees 2. Täiesti graafikus 3. Veidi maas, aga saan ise hakkama 4. Kõvasti maas, vajan abi 5. Ei oska öelda 4

Voog (ingl. stream) osa lihtsalt kannab andmeid, osa ka töötleb ühendatakse Java I/O süsteemi abil füüsilise seadmega ühel pool tootja (allikas), teisel pool tarbija voo andmetele juurdepääs järjestikune https://docs.oracle.com/javase/tutorial/essential/io/streams.html 5

Abstraktne Baidivoog InputStream FileInputStream AudioInputStream FilterInputStream DataInputStream ObjectInputStream OutputStream FileOutputStream PipedOutputStream FilterOutputStream DataOutputStream PrintStream ObjectOutputStream üks bait korraga binaarandmed (nt.class-failid) masinale orienteeritud 6 https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/io/inputstream.html https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/io/outputstream.html

Baidivoog, failide kopeerimine, voo sulgemisega try ( InputStream sisse = new FileInputStream("pilt.png"); OutputStream välja = new FileOutputStream("koopia.png"); ) { int c; while ((c = sisse.read())!= -1) { välja.write(c); Faililõputunnus? 7

Baidivoog, failide kopeerimine, puhver try ( InputStream sisse = new FileInputStream("pilt.png"); OutputStream välja = new FileOutputStream("koopia.png") ) { byte[] puhver = new byte[1024]; int loetud = sisse.read(puhver); while (loetud > 0) { välja.write(puhver, 0, loetud); loetud = sisse.read(puhver); // loeme järgmise tüki 8

Abstraktne Märgivoog Reader InputStreamReader FileReader BufferedReader Writer OutputStreamWriter FileWriter BufferedWriter PrintWriter üks märk korraga tekst (nt.java-failid) inimesele orienteeritud https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/io/reader.html https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/io/writer.html 9

Märgivoog, failide kopeerimine try ( Reader sisse = new FileReader("minemine.txt"); Writer välja = new FileWriter("koopia.txt") ) { int c; // omistamine ja kontroll kombineeritud! while ((c = sisse.read())!= -1) { välja.write(c); System.out.println(c); 10

Märgivoog, failide kopeerimine, ridahaaval try ( BufferedReader sisse = new BufferedReader( new FileReader("minemine.txt")); PrintWriter välja = new PrintWriter( new FileWriter("koopia.txt")) ) { String rida = sisse.readline(); while (rida!= null) { System.out.println("lugesin voost: " + rida); välja.println(rida); rida = sisse.readline(); // loeb järgmise rea https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/io/bufferedreader.html https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/io/filereader.html 11

Väljundmärgivoogu saab realiseerida järgmise klassi alamklassidega 1.InputStream 2.OutputStream 3.Reader 4.Writer 5. muu 12

Sisendbaidivoogu saab realiseerida järgmise klassi alamklassidega 1.InputStream 2.OutputStream 3.Reader 4.Writer 5. muu 13

Kas konstruktsioon BufferedReader sisse = new BufferedReader( new InputStreamReader( new URL(a).openStream())); on korrektne? 1. Jah 2. Ei 14

Vood Millisel juhul on vajalik (mõistlik) panna üks voog teise sisendiks? Kui siin üldse on üldistamine võimalik. 15

Andmed DataInputStream DataOutputStream Objektid Vood ObjectInputStream ObjectOutputStream Otsejuurdepääsuga RandomAccessFile 16

Liides Serializable Java väljundvoogu saab kirjutada vaid neid objekte, mis realiseerivad liidest Serializable. Neid objekte nimetatakse serialiseeritavateks. Serialiseerimine andmejadana esitamine Liides Serializable ei ole meetodeid ega muutujaid kasutatakse vaid märkimiseks, et vastavat objekti on võimalik saata voogu Massiiv on serialiseeritav, kui tema kõik liikmed realiseerivad liidest Serializable Algtüüpidele vastavad mähisklassid realiseerivad liidest Serializable https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/io/serializable.html 17

Liides Serializable 18

Kes need on? Dan Eliasson Generaldirektör, Myndigheten för samhällsskydd och beredskap Чечоткін Микола Олександрович Голова, Державна служба з надзвичайних ситуацій Зиничев Евгений Николаевич министр по делам гражданской обороны, чрезвычайным ситуациям и ликвидации последствий стихийных бедствий Pete Gaynor Administrator of the Federal Emergency Management Agency 19

Hädaolukorra seadus 1. Seaduse reguleerimisala (1)... Käesolev seadus reguleerib ka eriolukorra väljakuulutamist, lahendamist ja lõpetamist 24. Eriolukorra juht (1) Eriolukorra väljakuulutamisel määrab Vabariigi Valitsus ühe ministri, kes juhib ja koordineerib eriolukorra väljakuulutamise põhjustanud hädaolukorra lahendamist (edaspidi eriolukorra juht). 20

Erind? 1. Asula Albaania lõunaosas 2. India poliitik, parlamendi alamkoja liige 3. Programmi töö käigus tekkida võiv selline eriolukord, mis ei pruugi tingimata olla saatuslik programmi edasisele täitmisele 21

Näide import java.io.file; import java.util.scanner; public class Loeng10{ public static void main(string[] args) { File file = new File("andmed.txt"); Scanner sc = new Scanner(file); Information: java: Errors occured while compiling module 'Loeng10' Error:(6, 26) java: unreported exception java.io.filenotfoundexception; must be caught or declared to be thrown 22

Milleks? Loeme andmed failist sisse Aga kui faili polegi? Eriolukord nõuab teistsugust lähenemist Tava- ja eriolukorra kood eraldatud 23

Faili ei eksisteeri Eriolukorrad Faili ei saa kirjutada/lugeda Nulliga jagamine Järjendist vale indeksiga elemendi küsimine Ja veel palju teisi 24

Kas kompileerub? public class ErindiTest { public static void main(string[] args) { System.out.println(1/0); 1. Jah 2. Ei 25

Kompileerub, aga tööle ei hakka public class ErindiTest { public static void main(string[] args) { System.out.println(1/0); 26

Kas kompileerub? public class ErindiTest { public static void main(string[] args) { int[] arvud = {3, 7, 8; System.out.println(arvud[3]); 1. Jah 2. Ei 27

Kompileerub, aga tööle ei hakka public class ErindiTest { public static void main(string[] args) { int[] arvud = {3, 7, 8; System.out.println(arvud[3]); 28

Eriolukorrad Javas Tõrked (Throwable) vead (Error) erindid (Exception) mittekontrollitavad (RuntimeException) kontrollitavad (kompilaator leiab) https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/throwable.html https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/exception.html 29 https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/runtimeexception.html

Throwable Error Exception LinkageError VirtualMachineError IOException MingiErind RuntimeException FileNotFoundException ArithmeticException NullPointerException IndexOutOfBoundsException mittekontrollitavad (RuntimeException) kontrollitavad (kompilaator leiab) 30

Eriolukorra lahendamine Lahendame probleemi kohapeal (erindi püüdmine) try { /* KOOD */ catch (Exception e){ /* LAHENDUS */ Suuname erindi edasi throws Exception{/*...*/ 31

Erindi püüdmata jätmine Kui erindit kinni ei püüa, siis püüab Java käituskeskkond ise 32

Kontrollitavate ja mittekontrollitavate Kontrollitav erind erindite erinevused programm ei kompileeru, kui erindiga ei ole tegeletud throws Exception try-catch Mittekontrollitav erind programm kompileerub, aga tööle ei hakka 33

Kas Pärast ohtu ilmub ekraanile? public static void main(string[] args) { int[] arvud = {3, 7, 8; System.out.println(arvud[3]); System.out.println("Pärast ohtu"); 1. Jah 2. Ei 34

Kas Pärast ohtu ilmub ekraanile? public static void main(string[] args) { try { int[] arvud = {3, 7, 8; System.out.println(arvud[3]); catch (ArrayIndexOutOfBoundsException e) { //e.printstacktrace(); System.out.println("Pärast ohtu"); 1. Jah 2. Ei 35

Katsendidirektiiv try { /* Veaohtlik kood */ catch(erind1 e) { /* Erind1 püünis */ catch(erind2 e) { /* Erind2 püünis */ finally { /* Epiloog */ 36

Katsendidirektiiv try { /* Veaohtlik kood */ catch(erind1 Erind2 e) { /* Erind1 püünis ja */ /* Erind2 püünis koos */ finally { /* Epiloog */ 37

Katsendidirektiiv (voo sulgemisega) try(voog voog = new Voog()) { /* Veaohtlik kood */ catch(erind1 Erind2 e) { /* Erind1 püünis ja */ /* Erind2 püünis koos */ finally { /* Epiloog */ 38

Katsendidirektiiv (voo sulgemisega) try( Voog voog = new Voog(); Voog voog2 = new Voog() ) { /* Kood */ 39

Katsendidirektiivid Tavaline katsendidirektiiv Peab olema kas finally või vähemalt 1 catch try catch try catch catch try catch finally try catch catch finally try finally Voo sulgemisega katsendidirektiiv Ei pea olema ei finally ega catch 40

Eriolukorras Pooleli jäänud töö käigus võib-olla muudeti muutujate väärtuseid avati vooge Erindi püüdmisel tuleb taastada normaalne seisund avatud vood sulgeda 41

Püünis (catch) Püüab kas ühe või mitu erindit Mitme erindi puhul ebavajalikud erindid keelatud Mitu püünist ühes katsendidirektiivis Ebavajalikud püünised keelatud 42

Throwable Error Exception LinkageError VirtualMachineError IOException MingiErind RuntimeException FileNotFoundException ArithmeticException NullPointerException IndexOutOfBoundsException mittekontrollitavad (RuntimeException) kontrollitavad (kompilaator leiab) 43

Mis ilmub ekraanile? try { System.out.println(1/0); int[] arvud = {3, 7, 8; System.out.println(arvud[3]); catch (ArrayIndexOutOfBoundsException e) { System.out.println("Indeks"); catch (ArithmeticException e) { System.out.println("Aritmeetika"); 1. Indeks 2. Aritmeetika 3. Indeks Aritmeetika 4. Aritmeetika Indeks 5. Midagi muud 44

Mis ilmub ekraanile? try { System.out.println(1/0); int[] arvud = {3, 7, 8; System.out.println(arvud[3]); catch (RuntimeException e) { System.out.println("Käitusaegne"); catch (ArithmeticException e) { System.out.println("Aritmeetika"); 1. Käitusaegne 2. Aritmeetika 3. Käitusaegne Aritmeetika 4. Aritmeetika Käitusaegne 5. Midagi muud exception java.lang.arithmeticexception has already been caught 45

Mis ilmub ekraanile? try { int[] arvud = {3, 7, 8; System.out.println(arvud[3]); System.out.println(1/0); catch (ArithmeticException e) { System.out.println("Aritmeetika"); catch (RuntimeException e) { System.out.println("Käitusaegne"); 1. Käitusaegne 2. Aritmeetika 3. Käitusaegne Aritmeetika 4. Aritmeetika Käitusaegne 5. Midagi muud 46

Epiloog (finally) Täidetakse alati (kui katsendidirektiivini jõuti ning kui JVM ja vastav lõim veel töötavad) Isegi, kui tekkis erind, mida kinni ei püütud Isegi, kui jõuti return-lauseni 47

Mis ilmub ekraanile, kui seda meetodit rakendada? public static void meetod1() { try { System.out.println("Põhiplokis!"); return; finally { System.out.println("Epiloogis!"); 1. Põhiplokis! 2. Põhiplokis! Epiloogis! 3. Epiloogis! 4. Midagi muud 48

Milline väärtus tagastatakse? public static int meetod2() { try { return 1; finally { return 2; 1. 1 2. 2 3. Midagi muud 49

Mis ilmub ekraanile, kui seda meetodit rakendada? public static void meetod3() { try { System.out.println("Põhiplokis!"); System.exit(1); finally { System.out.println("Epiloogis!"); System.exit(2); public static void exit (int status) Terminates the currently running Java Virtual Machine. The argument serves as a status code. 1. Põhiplokis! 2. Põhiplokis! Epiloogis! 3. Epiloogis! 4. Midagi muud 50

Kui try-osas tekib erind, siis kõik try-osa käsud, mis asuvad peale seda, jäävad läbi vaatamata Kui try-osas erindeid ei teki, siis catch-osa juurde ei mindagi ja minnakse finally-osa juurde (kui see on olemas) ja siis minnakse nende käskude juurde, mis asuvad 51 peale try-catch-finally Kui try-osas tekib erind ja on olemas vastav (esimene sobiv) catch-osa, siis minnakse sinna, siis minnakse finally-osa juurde (kui see on olemas) ja siis minnakse nende käskude juurde, mis asuvad peale try-catchfinally Kui try-osas tekib erind ja ei ole vastavat catch-osa, siis minnakse finally-osa juurde (kui see on olemas) ja lõpetatakse meetodi (programmi) tööd

Milline on täitmise järjekord, kui erindeid ei teki? try { // 1 kood, mis võib tekitada erindi // 2 catch (IOException e) { // 3 kood, mis võib tekitada erindi // 4 finally { // 5 // 6 1. 1, 2, 3, 4, 5, 6 2. 1, 3, 4, 5, 6 3. 1, 2, 5, 6 4. 1, 3, 5, 6 5. 1, 3, 5 6. 1, 5, 6 7. 1, 5 8. Mingi muu 52

Milline on täitmise järjekord, kui try-plokis tekib erind, mida (selles programmis) ei püüta? try { // 1 kood, mis võib tekitada erindi // 2 catch (IOException e) { // 3 kood, mis võib tekitada erindi // 4 finally { // 5 // 6 1. 1, 2, 3, 4, 5, 6 2. 1, 3, 4, 5, 6 3. 1, 2, 5, 6 4. 1, 3, 5, 6 5. 1, 3, 5 6. 1, 5, 6 7. 1, 5 8. Mingi muu 53

Milline on täitmise järjekord, kui try-plokis tekib erind, mis püütakse ja püünis ei tekita erindit? try { // 1 kood, mis võib tekitada erindi // 2 catch (IOException e) { // 3 kood, mis võib tekitada erindi // 4 finally { // 5 // 6 1. 1, 2, 3, 4, 5, 6 2. 1, 3, 4, 5, 6 3. 1, 2, 5, 6 4. 1, 3, 5, 6 5. 1, 3, 5 6. 1, 5, 6 7. 1, 5 8. Mingi muu 54

Milline on täitmise järjekord, kui try-plokis tekib erind, mis püütakse ja püünises tekib ka erind? try { // 1 kood, mis võib tekitada erindi // 2 catch (IOException e) { // 3 kood, mis võib tekitada erindi // 4 finally { // 5 // 6 1. 1, 2, 3, 4, 5, 6 2. 1, 3, 4, 5, 6 3. 1, 2, 5, 6 4. 1, 3, 5, 6 5. 1, 3, 5 6. 1, 5, 6 7. 1, 5 8. Mingi muu 55

Katsendidirektiivid (voo sulgemisega) Tegelikult mitte tingimata voo sulgemine, vaid klassi, mis realiseerib liidest AutoCloseable Kutsutakse välja liidese AutoCloseable meetod close() 56

// Teeme ise suletava objekti class Suletav implements AutoCloseable { Suletav(){ System.out.println("Konstruktori sees"); @Override public void close() { System.out.println("Sulgesin ennast!"); try(suletav suletav = new Suletav()){ System.out.println("Try sees"); Konstruktori sees Try sees Sulgesin ennast! 57

Katsendidirektiivid üksteise sees try { try { catch (Exception e) { catch (Exception e) { try { catch (Exception e) { finally { try { catch (Exception e) { 58

Katsendidirektiivid üksteise sees Kui sisemises katsendidirektiivis (try-plokis) tekib erind ja pole sobivat püünist, siis otsitakse püünist teda sisaldavast katsendidirektiivist (try-plokist) Otsing jätkub kuni sobiva leidmiseni või kuni katsendidirektiivide lõppemiseni 59

public class ErindSees { public static void main(string[] args) { try { int a = args.length; int b = 20/a; System.out.println("a = " + a); try { if(a == 1) a = a/(a - a); if(a == 2) { int c[] = {1; c[25] = 100; //sisemine try catch(arrayindexoutofboundsexception e) { System.out.println("Massiivi indeks vigane: " + e); //välimine try catch(arithmeticexception e) { System.out.println("Jagamine nulliga: " + e); 60

public class ErindSees { public static void main(string[] args) { try { int a = args.length; int b = 20/a; System.out.println("a = " + a); try { if(a == 1) a = a/(a - a); if(a == 2) { int c[] = {1; c[25] = 100; //sisemine try catch(arrayindexoutofboundsexception e) { Kui käsurea argumente pole: java ErindSees System.out.println("Massiivi indeks vigane: " + e); //välimine try catch(arithmeticexception e) { System.out.println("Jagamine nulliga: " + e); Jagamine nulliga: java.lang.arithmeticexception: / by zero 61

public class ErindSees { public static void main(string[] args) { try { int a = args.length; int b = 20/a; System.out.println("a = " + a); try { if(a == 1) a = a/(a - a); if(a == 2) { int c[] = {1; c[25] = 100; //sisemine try catch(arrayindexoutofboundsexception e) { Käsurealt: java ErindSees üks System.out.println("Massiivi indeks vigane: " + e); //välimine try catch(arithmeticexception e) { System.out.println("Jagamine nulliga: " + e); a = 1 Jagamine nulliga: java.lang.arithmeticexception: / by zero 62

public class ErindSees { public static void main(string[] args) { try { int a = args.length; int b = 20/a; System.out.println("a = " + a); try { if(a == 1) a = a/(a - a); if(a == 2) { int c[] = {1; c[25] = 100; //sisemine try catch(arrayindexoutofboundsexception e) { Käsurealt: java ErindSees üks kaks System.out.println("Massiivi indeks vigane: " + e); //välimine try catch(arithmeticexception e) { System.out.println("Jagamine nulliga: " + e); a = 2 Massiivi indeks vigane: java.lang.arrayindexoutofboundsexception: 25 63

Mis ilmub ekraanile? try { tekib erind AException try { tekib erind AException tekib erind BException catch (BException e) { System.out.println("B"); catch (AException e) { System.out.println("A"); 1. A 2. B 3. A B 4. B A 5. Midagi muud 64

Mis ilmub ekraanile? try { try { tekib erind AException tekib erind BException catch (BException e) { System.out.println("B"); catch (AException e) { System.out.println("A"); 1. A 2. B 3. A B 4. B A 5. Midagi muud 65

Mis ilmub ekraanile? try { try { tekib erind BException catch (BException e) { System.out.println("B"); catch (AException e) { System.out.println("A"); 1. A 2. B 3. A B 4. B A 5. Midagi muud 66

Mis ilmub ekraanile? try { tekib erind BException try { tekib erind AException catch (BException e) { System.out.println("B"); catch (AException e) { System.out.println("A"); 1. A 2. B 3. A B 4. B A 5. Midagi muud 67

Katsendi- või tingimusdirektiiv if(a.length > 0) { System.out.println(a[0]); else { või try {System.out.println(a[0]); catch (IndexOutOfBoundsException e){ 68

Loengu tempo oli 1. liiga kiire 2. paras 3. liiga aeglane 69

Materjal tundus 1. liiga lihtne 2. parajalt jõukohane 3. liiga keeruline 70

Suur tänu osalemast! Kohtumiseni! 71