EDUTIME Java Day 8 Serdar TÜRKEL.

Slides:



Advertisements
Benzer bir sunumlar
Programlama-II (Java ile Bilgisayar Programlama)
Advertisements

Java Programlama Giriş/Çıkış
Yazılım Geliştirme ve Java
Saatte V km hız ile giden bir aracın t zamanda aldığı yolu bulan metodu yazınız. Metodu kullanacak bir program yazınız. ( yol=hız*zaman, x=V*t) — Metot.
C# - Metotlar.
JAVA TEMELLERİ GİRİŞ JAVA TEMELLERİ GİRİŞ signalsec.com & mialkan.com.
SCANNER SINIFI ve KLAVYEDEN VERİ OKUNMASI
Ders İçeriği Bağlantılı Liste İki Yönlü Bağlantılı Liste
Programlama-II (Java ile Bilgisayar Programlama)
Hata Kontrol & İstisna durumları
CHAIN OF RESPONSIBILITY
OOP UYGULAMA 5.
EDUTIME Java Day 4 Serdar TÜRKEL.
PROGRAMLAMA DİLLERİNE GİRİŞ Ders 4: Diziler
Namespaces and .NET Class Library (İsim Alanları Sınıf Kütüphanesi)
PROGRAMLAMA DİLLERİNE GİRİŞ Ders 6: Sınıflar
HATA AYIKLAMA.
P AKET E RIŞIMLERI SıNıFLARıN YENIDEN KULLANıMı. P AKET ( P ACKAGE ) Paketler kütüphaneleri oluşturan elemanlardır. import java.io.BufferedReader; BufferedReader.
EDUTIME Java Day 3 Serdar TÜRKEL.
Nesne Tabanlı Programlama Dersi Edirne Kız Teknik ve Meslek Lisesi Hazırlayan : Nuri AVCI
Nesneye Yönelik Programlama Dr. Pelin GÖRGEL
DİZİLER.
BPR152 ALGORİTMA VE PROGRAMLAMA - II
DELEGATE OOP-UYG.
NESNE TABANLI PROGRAMLAMA -METOTLAR-
METODLAR.
C# Metot Overloading (Aşırı yükleme)
JAVADA PROGRAM DENET İ M İ VE OPERATÖRLER. int a ; a=4 ; // do ğ ru bir atama 4=a ; // yanlış bir atama!
İSİM UZAYLARI (NAMESPACE)
JAVA İ LE PROGRAMLAMAYA G İ R İ Ş Ekim Dr. Galip Aydın.
İş Parçacıkları Thread(s)
C#.NET 5.0 C# .NET 5.0 Eğitimleri Volkan KANAT.
Java Sınıf ve Nesne Kavramı UML Gösterimi
Net Class Framework ’ ün en üst yapısına İsim Uzayı denir. İsim uzayları ; pascal programlama dilinde 1990 ve hatta öncesinden beri varolmuş, C’de yer.
JAVA İLE PROGRAMLAMAYA GİRİŞ
METOTLAR.
Ders 2- Veri türleri, Karar ve Döngü Yapıları, Görsel Kontröller Aslı Ergün.
ÇOK BİÇİMLİLİK POLYMORPHISM
Önceki Dersi Hatırlama !!
Kalıtım.
JAVA’DA DÖNGÜLER.
Hata Ayıklama.
Numaralandırmalar(Enumaration)
Bilişim Enstitüsü ++ Bilişim Enstitüsü ++ Bilişim Enstitüsü ++ Bilişim Enstitüsü ++ Bilişim Enstitüsü ++ Bilişim Enstitüsü ++ Bilişim Enstitüsü C ++ Ders.
Chapter 11: Exception Handling
BTP205 – Görsel Programlama I
Class KahveFincani { public KahveFincani() { System.out.println("KahveFincani..."); } } public class YapilandirciBasitOrnek { public static void main(String[]
JAVA’DA DİZİLER Dr.Galip AYDIN.
Sınıflar ve Nesneler Sınıf: bir nesnenin şablonunu, kalıbını, şeklini, davranışını, kalıtımını değişkenleri, metodları ve ebeveynleri vasıtasıyla tanımlar.
Trees, Vectors, Iterators. ADT Abstract Data Type (ADT) vs implementation -Soyut Veri Türleri - Uygulamaları.
Ders İçeriği Liste Soyut veri yapısı (ADT)
Bölüm 5 Nesneler ve Metotlar
Bil 102 Bölüm 6 Diziler.
Bil 102 Bölüm 3 Java’da Program Akış Denetimi Bil 1021.
Bilgisayar programlarının en büyük avantajı, kullanıcının işini kolaylaştırmalarıdır. Her bilgisayar programı bunu değişik metotlar kullanarak sağlar.
Ders 2- Veri türleri, Karar ve Döngü Yapıları, Görsel Kontröller
JAVA PROGRAMLAMA ORNEKLER
ODTU-SEM Copyright (c) 2011 Kalıtım(Inheritance) Subclass lar tüm method ve attributes larının superclass ından alırlar. Bu işlem için extends keyword.
SINIFLAR ve NESNELER. İlk sınıfımızı ekleyelim class KrediHesap { public ulong HesapNo; public double Limit; public string KartSahibi; }
HIBERNATE Uygulama ile birleştirilmesi hibernate.cfg.xml Ö ğ renci Tablosunun Hibernate’e uyarlanması Session, Transaction save, update, delete HQL Criteria.
Bölüm 13: İstisnaların ve Olayların Yönetilmesi. İstisnaların ve Olayların Yönetilmesi (Exception Handling and Event Handling)
Kompozisyon Bir Sınıf diğer sınıf nesne referanslarını içinde barındırabilir. Bu referanslar sınıfın üyeleridir.
Hatalar ve Özel Durumları Yönetmek try..catch..finally throw throw Anahtarı Exception Exception Sınıfları.
Excel’de VBA Programlama (Visual Basic Application)
JAVA’DA DİZİLER. Özet  Dizi: belirli sayıda ve aynı veri türünden de ğ işkenlere aynı adla erişilmesini sa ğ layan bir yapıdır.  Dizilerde döngü işlemleri.
Kurucular(Yapıcılar), Yıkıcılar
Nesneye Dayalı Programlama 1
NİŞANTAŞI ÜNİVERSİTESİ
Nesneye Dayalı Programlama 1
NİŞANTAŞI ÜNİVERSİTESİ
Sunum transkripti:

EDUTIME Java Day 8 Serdar TÜRKEL

İstisna Yönetimi İstisna tanımı İstisna yönetiminin amacının anlaşılması Java’daki istisna türlerinin anlaşılması İstisna yönetim modelinin tanımlanması

Hatanın Tanımı Özel bir hata türüdür Çalışma zamanında meydana gelir Programı çalıştırırken gerçekleşen normal olmayan durumlar, istisnalara neden olur. Bu durumlarla ilgilenilmez ise, programımızın çalışması durdurulabilir.

İstisna işlemenin amacı Sistem çökmelerini ve programın istenmeyen bir şekilde durdurulma şansını en küçüğe indirmek Örnek Bir sayıyı sıfıra bölmek sıfıra bölme hatası oluşturacaktır. Buda programı sonlandıracaktır.

İstisna yönetimi İstisna oluştuğunda, o istisnayı temsil eden bir nesne oluşturulur. Bu nesne istisnanın olduğu metoda geçirilir Bu nesne istisna hakkında detaylı bilgiye sahiptir, ve bu bilgi daha sonradan işlenebilir. Java’nın sağladığı ‘throwable’ sınıfı Exception sınıfının üst sınıfıdır.

İstisna işleme modeli İstisna işleme modeli ‘yakala ve gönder’ modeli olarakta bilinir Hata oluştuğunda bir istisna atılır ve ve bir blok içinde yakalanır İstisnaları yönetmek için bazı anahtar sözcükler try catch throw throws finally

İstisna işleme modelinin yapısı Sözdizimi try { …. } catch(Exception e1) { …. } catch(Exception e2) { …. } catch(Exception eN) { …. } finally { …. }

‘Gönder ve yakala’ modelinin avantajları Programcı, hata durumu ile sadece gerekli olduğu yerlerde ilgilenmek zorundadır. Her seviyede ilgilenmek zorunda değildir. İstisna işleyicide hata mesajı bulundurulabilir

‘try’ ve ‘catch’ Blokları İstisna işleme modelini gerçekleştirmek için kullanılır. ‘try’ bloku, çalıştırılabilir deyimler kümesinden oluşur. BU deyimler çalıştırılırken istisnalar gönderebilir. İstisna göndermesi muhtemel bir metot da ‘try’ bloğunda bulunabilir. Bir ‘try’ bloğundan sonra bir veya daha fazla ‘catch’ bloku gelebilir Bunlar ‘try’ bloğundan gönderilen istisnaları yakalar.

‘try’ ve ‘catch’ Blokları Her tür istisnayı yakalayabilmek için istisna tipi ‘Exception’ olarak verilir catch(Exception e) Atılan istisna tipi bilinmediği zaman, ‘Exception’ sınıfı hatayı yakalamak için kullanılabilir ‘try catch’ bloğundan geçirilen hata, uygun bir ‘catch’ bloğu ile karşılaşıncaya kadar bütün ‘catch’ bloklarını dener yada program sonlandırılır

‘try’ ve ‘catch’ Blokları Sözdizimi try{ doFileProcess(); } Catch(Exception e){ System.err.println(“Hata: ”+ e.toString); e.printStackTrace();

‘try’ ve ‘catch’ Blokları Genel hata yakalama public class tryCatch1{ public static void main(String args[]){ try { Integer dizi[]=new Integer[10]; for(int i=0;i<20;i++){ dizi[i]=i; } }catch (Exception ex){ System.out.println ("Bu hatayi ben yakaladim : "); ex.printStackTrace();

Çoklu catch blokları Çoklu ‘catch()’ blokları, çeşitli istisnaları ayrı ayrı işlemeye yarar Örnek try { doFileProcessing(); displayResults(); } catch(LookupException e) handleLookupException(e); catch(Exception e) System.err.println(“Error:”+e.printStackTrace());

Çoklu catch blokları İç ‘try ve catch’ blokları kullanılırsa, ilk önce içerdeki blok işlenir. İçteki ‘try’ blokunda atılan istisna, takip eden ‘catch’ bloklarında yakalanır Eğer eşleşen bir ‘catch’ bloku bulunamazsa, dıştaki ‘try’ blokunun ‘catch’ blokları ile eşleştirilir Eğer gene eşleşemez ise Java Runtime Enviroment istisna ile ilgilenir

Çoklu Catch Blokları import java.io.*; public class tryCatch2{ public static void main(String args[]){ try { Integer dizi[]=new Integer[10]; for(int i=0;i<10;i++){ dizi[i]=i; } File f=new File("edu.ttt"); System.out.println (new FileInputStream(f)); }catch (ArrayIndexOutOfBoundsException ex){ System.out.println ("Dizi miktarini asan veri girisi :"); ex.printStackTrace(); }catch(FileNotFoundException ex){ System.out.println ("Dosya Bulunamadi :"); }catch(Exception ex){ System.out.println ("genel hata :");

‘finally’ Blok İstisna olduğunda bütün temizlik işlerini yürütür. ‘try’ bloku ile kullanılabilir Sistem kaynaklarını geri veren yada mesaj gösteren deyimlerden oluşur: Bir dosyanın kapanması Bir sonuç setinin kapanması (Veri tabanı) Tanımlanan veri tabanı bağlantısının sonlandırılıması

‘finally’ Blok Örnek try { …. } finally

‘finally’ Blok İsteğe bağlıdır ‘finally’ bloku istisna oluşsun yada oluşmasın işletirlir. Hata oluşmadı Hata oluştu

Finally Blok import java.io.*; public class tryCatch3{ public static void main(String args[]) throws IOException{ FileInputStream fis; FileOutputStream fos; File f=new File("dosya.txt"); try{ fis=new FileInputStream(f); fos=new FileOutputStream(new File("dosya2.txt")); int okunan; while((okunan=fis.read())!=-1){ fos.write(okunan); } }catch (Exception ex){ ex.printStackTrace(); }finally { System.out.println ("program sonlandi");

‘throw’ ve ‘throws’ deyimleri ile kullanıcı tanımlı istisnalar İstisnalar, ‘throw’ anahtar sözcüğü yardımı ile gönderilir. ‘throw’ anahtar sözcüğü bir istisnanın oluştuğunu belirtir. ‘throw’ sözcüğünün işleneni ‘Throwable’ sınıfından türemiş bir sınıfın nesnesidir. ‘throw’ deyimine örnek: try{ if (flag < 0) { throw new benim istisnam( ) ; // kullanıcı tanımlı }

‘throw’ ve ‘throws’ deyimleri ile kullanıcı tanımlı istisnalar Bir metot, birden fazla istisna gönderebilir.  ‘throw’ anahtar sözcüğünün çoklu istisnaları işlemek için nasıl kullanıldığı public class Example { public void exceptionExample( ) throws ExException, LookupException { try { // statements } catch(ExException exmp) …. catch(LookupException lkpex)

‘throw’ ve ‘throws’ deyimleri ile kullanıcı tanımlı istisnalar ‘Exception’ sınıfı, ‘Throwable’ arayüzünü gerçekleştirir ve istisnalar için bazı kullanışlı özellikler sunar ‘Exception’ sınıfının alt sınıfını oluşturmanın avantaju, yeni bistisna türürnün diğer ‘Throwable’ türlerinden bağımsız olarak yakalanabilmesidir.

Throw - Throws import java.io.*; public class tryCatch4{ public static void main(String args[]){ Integer dizi[]=new Integer[3]; try { for(int i=0;i<10;i++){ dizi[i]=i; } catch (Exception ex) { throw new ArrayIndexOutOfBoundsException("HATA");

İstisnaların listesi Açıklama İstina RuntimeException Pek çok java.lang istisnalarının temel sınıfı ArithmeticException Aritmetik hata IllegalAccessException Sınıf erişilebilir değil IllegalArgumentException Metot geçersiz argüman yürüttü ArrayIndexOutOfBoundsException Dizi boyutu sıfırdan küçük veya asıl dizi boyutundan büyük NullPointerException ‘null’ nesne üyesi erişim denemesi SecurityException Güvenlik ayarları işleme izin vermiyor ClassNotFoundException İstenen sınıf yüklenemiyor

İstisnaların listesi İstina NumberFormatException AWTException Açıklama NumberFormatException Dizgiden kayan noktaya geçersiz çevirme AWTException AWT’de istisna IOException Giriş/Çıkış istisnaları için temel sınıf FileNotFoundException Dosya bulunamadı EOFException Dosya sonu NoSuchMethodException İstenilen metod mevcut değil InterruptedException İşletim dizisi durduruldu