TÁMOP 2.2.3-07/1-2F-2008-0011 Informatikai gyakorlatok 11. évfolyam Kivételek kezelése, ellenőrzött adatbevitel Czigléczky Gábor 2009.

Slides:



Advertisements
Hasonló előadás
C++ programozási nyelv Gyakorlat hét
Advertisements

Hibakezelés és Tesztelés a Visual Studio.NET-ben
Programozás alapjai.
Bevezetés a Java programozásba
4. előadás (2005. március 8.) Pointerek Pointer aritmetika
Fájlkezelés, IO Kivételkezelés Belső osztályok
UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS Programozás II. 9. Gyakorlat Alap file műveletek.
C A C nyelv utasításai.
Készítette: Pető László
A C++ programozási nyelvSoós Sándor 1/15 C++ programozási nyelv Gyakorlat hét Nyugat-Magyarországi Egyetem Faipari Mérnöki Kar Informatikai Intézet.
A Java programozási nyelvSoós Sándor 1/24 Java programozási nyelv 9. rész – Kivételkezelés Nyugat-Magyarországi Egyetem Faipari Mérnöki Kar Informatikai.
OE-NIK HP Haladó Programozás WCF kivételkezelés. OE-NIK HP Haladó Programozás Windows Communication Foundation A szolgáltatás, a hoszt és az ügyfél elkészítése.
© Kozsik Tamás Kivételek A program végrehajtása során ritkán bekövetkező események Nem a „fő végrehajtási ág”; logikailag alacsonyabbrendű feladat.
Programozás I. Ciklusok
Kivételkezelés.
Kivételkezelés a C++ nyelvben Bevezetés
Bevezetés a C++ programozási nyelvbe
PHP I. Alapok. Mi a PHP? PHP Hypertext Preprocessor Szkriptnyelv –Egyszerű, gyors fejlesztés –Nincs fordítás (csak értelmező) Alkalmazási lehetőségek:
P ROGRAMOZÁS C# - BAN Kivételkezelés. P ÉLDA I. Nullával való osztás miatt kapjuk a hibaüzenetet.
Összetett adattípusok
Programozási nyelvek összehasonlító elemzése
Szoftvertechnológia alapjai Java előadások Förhécz András, doktorandusz tárgy honlap:
Programozási nyelvek Páll Boglárka.
Feladatok: Algoritmusok Pszeudokódban
ismétlődő (azonos vagy hasonló) tevékenységek megvalósítására szolgál
Tömbök és programozási tételek
Operátorok Értékadások
PHP nyelv. PHP Interpreteres nyelv → parancsértelmező szükséges hozzá Rasmus Lerdorf 1995 → személyes felhasználás (internetes önéletrajzának megtekintésének.
1. Gyakorlat - Alapok 1. Írjon konzolprogramot, amely kiírja a “Hello ELTE” üzenetet! Használja a System.out.println() -t! 2. Írjon konzolprogramot, amely.
1 Hernyák Zoltán Programozási Nyelvek II. Eszterházy Károly Főiskola Számítástudományi tsz.
1 Hernyák Zoltán Web: Magasszintű Programozási Nyelvek I. Eszterházy.
1Szegedi Tudományegyetem Természettudományi és Informatikai KarAntal Gábor Programozás I. 7. gyakorlat.
Java programozási nyelv Vezérlési szerkezetek
Java programozási nyelv Adatbekérés konzolról
Objektum orientált programozás
Operátorok Vezérlési szerkezetek Gyakorlás
Power Lutár Patrícia Pellek Krisztián.  -ltLess than  -leLess than or equal to  -gtGreater than  -geGreater than or equal to  -eqEqual to  -neNot.
Programozás III KIVÉTEL.
Barna Róbert KE GTK Informatika Tanszék Pénzügyi feladatok VBA támogatása 7. előadás.
Mintapélda Készítsünk programot, amely beolvas egy egész számot, és eldönti arról, hogy prímszám-e. Készítsünk programot, amely beolvas egy egész számot,
1 Mivel foglalkozunk a laborokon? 7. hét: Do-Loop-Until Do-Until-Looptömbök Function 7. hét: Do-Loop-Until és Do-Until-Loop ciklusok. Egy indexes tömbök,
Algoritmizálás és programozás tanítása Balogh Zoltán PTE-TTK IÁTT Az algoritmuskészítés.
Programozás III KIVÉTEL. KIVÉTELKEZELÉS Hibátlan program nincs!!! eddig hiba esetén leállt a program. Példa ilyen hibákra: ─ ArrayBoundsOfException (tömb.
CPU Bus Unit terület 4-5. CPU Bus Unit terület A CPU Bus Unit terület 400 szót tartalmaz a CIO 1500 –tól CIO 1899 – ig terjedő területen. A CPU Bus Unit.
UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS Programozás I. 7. gyakorlat.
Excel programozás (makró)
C++2. Ciklusok elöltesztelő (for, while) A ciklusmag feldolgozása előtt történik a vizsgálat  lehet, hogy egyszer sem fut le. A soronkövetkező iteráció.
Programtervezés, programozás I. 2.5 tömbök,stringek
Objektum orientált programozás 4. Mutatók, típusok és struktúrák Nagy Szilvia.
Informatikai gyakorlatok 11. évfolyam
1Szegedi Tudományegyetem Természettudományi és Informatikai KarAntal Gábor Programozás I. 7. gyakorlat.
1 BME VBK KROMATOGRÁFIÁS SZAKANALITIKUS KÉPZÉS INFORMATIKA (SZÁMÍTÁSTECHNIKA) dec. 2. Access „elmaradás” - a Beszall_forg lekédezés elkészítése:
TÁMOP /1-2F JAVA programozási nyelv NetBeans fejlesztőkörnyezetben I/13. évfolyam Utasítás és blokk. Elágazás típusai, alkalmazása Kovács.
TÁMOP /1-2F Felkészítés szakmai vizsgára informatika területre modulhoz II/14. évfolyam Gyakorlati feladatsor témaköreinek áttekintése,
TÁMOP /1-2F Informatikai gyakorlatok 11. évfolyam Alapvető programozási tételek megvalósítása Czigléczky Gábor 2009.
Adatstruktúrák Algoritmusok Objektumok
Script nyelvek előadás
Nyomkövetés Mikroprocesszor és mikrokontroller programjainak és a rendszernek a belövése.
Informatikai gyakorlatok 11. évfolyam
Programozás C# -ban Elágazások.
JAVA programozási nyelv NetBeans fejlesztőkörnyezetben I/13. évfolyam
ITERÁCIÓ.
Informatikai gyakorlatok 11. évfolyam
JAVA programozási nyelv NetBeans fejlesztőkörnyezetben I/13. évfolyam
Informatikai gyakorlatok 11. évfolyam
Informatikai gyakorlatok 11. évfolyam
Informatikai gyakorlatok 11. évfolyam
JAVA programozási nyelv NetBeans fejlesztőkörnyezetben I/13. évfolyam
Előadás másolata:

TÁMOP /1-2F Informatikai gyakorlatok 11. évfolyam Kivételek kezelése, ellenőrzött adatbevitel Czigléczky Gábor 2009

Kivételek (1.) Egy hibátlannak tűnő programot is „ki lehet akasztani”. Kivételről akkor beszélünk, amikor váratlan, előre nem látható hiba történik a programban. Ilyen hiba lehet: ◦ programozási (szemantikai hiba), vagy ◦ hardveres (például nem írható vagy olvasható egy fájl), vagy ◦ szoftveres (például nem megfelelő formátumú adatbevitel vagy bemenő fájl, nullával osztás).

Kivételek (2.) Tipikus kivételek (ld. előző egység): ◦ NullReferenceException: Az objektumhivatkozás nincs beállítva semmilyen objektumpéldányra. (Egy objektumot deklaráltunk, de még nem hoztuk létre a memóriában. ) ◦ ObjectDisposedException: Nem lehet bezárt TextReader objektumból olvasni. (Bezárt fájlból próbáltunk olvasni.)

Kivételek (3.) Tipikus kivételek (ld. előző egység): ◦ FormatException: Nem megfelelő a bemeneti karakterlánc formátuma. (Ez a leggyakoribb hiba, rossz formátumú adatot olvas be a program, és nem tudja átkonvertálni adott típusúra.) ◦ IndexOutOfRangeException : Az index a tömb határain kívülre mutatott. (Programozási hiba, rosszul indexelünk egy tömböt.)

Kivételek (4.) Gyakori kivétel még: ◦ DivideByZeroException: Kísérlet történt nullával való osztásra. (Csak egész számok osztásakor fordulhat elő.) A kivételkezelés módja, hogy a „veszélyes” utasításokat egy kivételkezelő blokkba zárjuk, ami megpróbálja „elkapni” a dobott kivételeket. Így az esetlegesen bekövetkező hibajelenségeket biztonságosan le tudjuk kezelni.

Kivételek kezelése try { // problémás utasítások } catch (kivételtípus1) { // hibaüzenet vagy hibajavítás } catch (kivételtípus2) { // hibaüzenet vagy hibajavítás } … finally { // olyan utasítások, amiknek még kivétel esetén is le kell futnia, nem kötelező }

Példa: nullával osztás kezelése try { int x = int.Parse(textBox1.Text); int y = int.Parse(textBox2.Text); int z = x / y; } catch (DivideByZeroException) { MessageBox.Show("Nullával nem oszthatunk!"); }

Általános kivétel kezelése Több kivételt is kezelhetünk (lehet több catch blokk is) A módszer hátránya, hogy csak megadott kivételeket tudunk elkapni, nem tudunk mindenre felkészülni Általános kivételkezelés (a kivétel típusának specifikálása nélkül): catch { MessageBox.Show("Hiba történt a művelet végrehajtása közben!"); }

Ellenőrzött adatbevitel (1.) Erre akkor van szükség, ha rá akarjuk kényszeríteni a felhasználót, hogy megfelelő értéket írjon be. Például: osztályzat beolvasása esetén csak 1 és 5 közötti értéket fogadunk el. Megvalósítás: hátultesztelő ciklussal do { // adat beolvasása } while (a_beolvasott_érték_rossz);

Ellenőrzött adatbevitel (2.) A módszer csak úgy alkalmazható, ha az adat beolvasását könnyen meg tudjuk ismételni (pl. InputBox feldobásával). Példa: osztályzat beolvasása do { string s = Interaction.InputBox("Kérem a következő osztályzatot:", "Adatbevitel","0",100,100); szam = int.Parse(s); } while (szam 5); Ügyeljünk a helyesen tagadott feltételre! Egészítsük ki kivételkezeléssel is!