NİŞANTAŞI ÜNİVERSİTESİ

Slides:



Advertisements
Benzer bir sunumlar
Java Programlama Giriş/Çıkış
Advertisements

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.
SCANNER SINIFI ve KLAVYEDEN VERİ OKUNMASI
Tuğba DEMİREL
Programlama-II (Java ile Bilgisayar Programlama)
KONTROL ÖZELLİKLERİ.
Hata Kontrol & İstisna durumları
BPR152 ALGORİTMA VE PROGRAMLAMA - II
PROGRAMLAMA DİLLERİNE GİRİŞ Ders 4: Diziler
Çerez(Cookie) Kullanımı Oturum Yönetimi
Nesneye Yönelik Programlama
Nesne Tabanlı Programlama
NESNEYE YÖNELİK PROGRAMLAMA
DİZİLER.
DELEGATE OOP-UYG.
Erişim Denetimi, Fonksiyon
METODLAR.
Sorular? Öneriler?. Referanslar Referanslar (Tekrar) Eğer aşağıdaki gibi yazarsak ne olur: int x; double y; char c; ???
Chapter 7: Using Methods. Metotları ve Kodlamayı Gizlemeyi Anlama Metot – Kapsüllenmiş ifadeler serisini gerçekleştiren bir görev – Kullanılan metodun.
C#.NET 5.0 C# .NET 5.0 Eğitimleri Volkan KANAT.
Görsel C# Programlama Güz 2009 (6. Hafta).
C#.NET 5.0 C# .NET 5.0 Eğitimleri Volkan KANAT.
Nesneye Dayalı Programlama
Sınıflar ve Fonksiyonlar
Paralel Programlamaya Giriş
SABİT NESNE VE ELEMAN FONKSİYONLAR VE ELEMAN NESNELER
ÇOK BİÇİMLİLİK POLYMORPHISM
Önceki Dersi Hatırlama !!
Kalıtım.
JAVA’DA DÖNGÜLER.
NESNEYE YÖNELİK PROGRAMLAMA
EDUTIME Java Day 8 Serdar TÜRKEL.
Hata Ayıklama.
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
Kalıtım , Sınıf Asli Ergün.
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.
SINIFLAR VE DİNAMİK BELLEK YÖNETİMİ VE SINIFLARIN DİĞER ÖZELLİKLERİ Yılmaz Kılıçaslan.
Ders İçeriği Liste Soyut veri yapısı (ADT)
Bilgisayar Programlama. Tek bir değişken tanımlamak için aşağıdaki gibi bir yazım yeterlidir. int i; Hatırlanacağı gibi bu tarz bir tanımlamada.
Bölüm 5 Nesneler ve Metotlar
 this anahtar sözcüğü, içinde bulunulan nesneye ait bir referans döndürür; bunun sayesinde nesnelere ait global alanlara erişme fırsatı bulunur. Şöyle.
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.
JAVA PROGRAMLAMA ORNEKLER
Görsel C# ile Windows Programlama
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.
İlk Değer Alma Sırası İlk Değer Alma Sırası Nesnelere ait global alanlara başlangıç değerleri hemen verilir; üstelik, yapılandırıcılardan (constructor)
MOB İ L UYGULAMA GEL İ ŞT İ RME Hafta 11. VER İ LER İ SAKLAMA Android sistemlerinde hazırlanacak projelerde verileri saklamak için android sisteminin.
Veri yapıları Hafta3 Dizi Yapıları.
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.
BİLGİSAYAR programlama II
KALITIM(INHERITANCE) Öğr.Gör. Murat ASLANYÜREK. KALITIM KAVRAMINA GİRİŞ  Kalıtım, sınıflardan yeni sınıflar türetmeyi sağlar.  Türetilen yeni sınıflar,
Sakarya Üniversitesi Bilgisayar ve Bilişim Bilimleri Fakültesi Bilgisayar Mühendisliği Prof. Dr. Ümit Kocabıçak Prof. Dr. Cemil Öz Doç. Dr. Ahmet Turan.
Hatalar ve Özel Durumları Yönetmek try..catch..finally throw throw Anahtarı Exception Exception Sınıfları.
Fonksiyonlar ve Diziler
Nesneye Dayalı Programlama
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.
Nesneye Dayalı Programlama 1
NİŞANTAŞI ÜNİVERSİTESİ
NİŞANTAŞI ÜNİVERSİTESİ
NİŞANTAŞI ÜNİVERSİTESİ
NİŞANTAŞI ÜNİVERSİTESİ
NİŞANTAŞI ÜNİVERSİTESİ
GARBAGE COLLECTOR (  ÇÖP TOPLAYICI ).
NİŞANTAŞI ÜNİVERSİTESİ
Sunum transkripti:

NİŞANTAŞI ÜNİVERSİTESİ NESNEye yönelİk PROGRAMLAMA İSTİSNA TANIMLAMA, FINALLY BLOĞU NİŞANTAŞI ÜNİVERSİTESİ © İktisadi, İdari ve Sosyal Bilimler Fakültesi iisbf.nisantasi.edu.tr

İSTİSNA TANIMLAMA Yazdığımız ve yazacağımız tüm komut satırları aslında bir metot içerisinde çalışırlar. Bu metotların işleyişleri esnasında oluşabilecek kontrollü istisnaları belirtmek gerekir. Bu işleme istisna tanımlama ya da önlem alma diyebiliriz. Yani istisnası tanımlanan bir metodu çağırabilecek diğer metotlara söz konusu metotta meydana gelmesi muhtemel hatalar hakkında bilgi verilmektedir.

İSTİSNA TANIMLAMA ErisimBelirleyiciler MetodDonusTipi MetodAdi()throws istisna,istisna1 { Metod'un Gövdesi } Yukarıdaki kalıp ile oluşturulur. Şayet birden çok istisna tanımlanacaksa, virgülle throws kelimesinden sonra devam edilir:public static void metod() throws IOException,ClassNotFoundException Bu metotta beklenmeyen eleman ve bulunamayan sınıflara karşı dikkatli olunması için diğer metotlara uyarı yapılmaktadır.

İSTİSNA TANIMLAMA Burada throws anahtar kelimesi nedeni ile hata nesnesi derleyici tarafından oluşturulmaktadır. Bizler throw kelimesini kullanacağız: Public static void method(int x) { if(x<0){IOException istisna = new IOException ("Beklenmeyen argüman"); throw istisna; } Görüldüğü gibi burada istisna nesnesi tarafımızdan oluşturuldu

İSTİSNA TANIMLAMA İstisna Sınıfının Yapılandırıcıları: Tüm istisna sınıfları 2 yapılandırıcı barındırır­lar. Bir tanesi hiçbir parametre almayan yapılandırıcı diğeri ise istisnanın açıklandı­ğı String tipinden parametre alan yapılandırıcıdır. Bu parametre istisnanın mesaj alanına atanmakta ve getMessage yöntemi ile alınmaktadır.

İSTİSNA TANIMLAMA Error ve Exception sınıfına ait birkaç alt sınıfı inceleyelim. 1-Error Sınıfı: 1.1 VirtualMachineError: JVM’nin çalışmasını etkileyen durumları inceler. 1.2 AWTError: Grafik arayüze ait hataları inceler. 1.3 OutOfMemoryError: Bellek yetersizliği durumularını inceler.

İSTİSNA TANIMLAMA 2- Exception Sınıfı: 2.1ClassNotFoundException Sınıfı: Olmayan bir dosyaya erişime isteği durumlarını inceler. 2.2 IOException Sınıfı: Giriş-Çıkış işlemlerindeki istenmeyen durumları inceler. 2.3 RunTimeException Sınıfı: Çalışma zamanı hatalarını inceler. 2.3.1 AritmeticException Sınıfı: Aritmetik hatalarda fırlatılır. 2.3.2 NullPointerException: Herhangi bir nesneye null referanslı bir değişken ile ulaşılmaya çalışılan durumlarda fırlatılır. 2.3.3 IllegalArgumentException: metotlara geçersiz argüman atamalarında fırlatılır.

İSTİSNA SINIFLARINDA ORTAK KULLANILAN METOTLAR Bu metotlar istisna sınıfının en tepesindeki süper sınıfları olan throwable sınıfında bulunmaktadırlar. getMessage() metodu: istisna nesnesi içerisindeki mesajı döner. toString() metodu: istisna mesajını, istisna adını iki nokta ve arada bir boşluk ile döner printStackTrace(): oluşan istisnanın bilgilerini aşama aşama ekrana yazdır. getStackTrace():oluşan istisnanın bilgilerini aşama aşama stacktrace tipinde bir dizi olarak döner.

ÖRNEK-7 Bir personel sınıfımız olsun. Personel sınıfında yaş tayini yapalım ve negatif sayılarda hata yakalayalım. Buna göre personel sınıfında: Üye değişkenler (veri alanı) oluşturulmalıdır. Varsayılan yapıcı (default constructor) oluşturulacaktır. get ve set metotları bulunacaktır. Set metodunda negatif değerler atanması durumuna karşı sınırlama getirilmelidir. Set metodunda beklenmeyen bir atamada hata nesnesi fırlatılmalıdır. Parametre alan yapıcı set metoduna göre düzenlenmelidir. Main metodunda personel sınıfına ait bir nesne oluşturunuz. Bu nesneye değişik yaşlar atayıp, try-catch bloğu sayesinde personel sınıfında fırlatılması muhtemel hata nesnesini yakalayınız.

ÖRNEK-7

ÖRNEK-7

ÖRNEK-7 Görüldüğü gibi personel yaşına -35 atandığında hata nesnesi fırlatıldı ve try-catch bloğunda bu hata nesnesi yakalandı. İlk hata mesajı getMessage() metodu tarafından ekrana getirildi. İkinci ve açıklamalı olan hata mesajı ise toString() metodu tarafından ekrana getirildi.

FINALLY BLOĞU Herhangi bir istisna oluşsun ya da oluşmasın bazı işlemlerimizin devam etmesini isteyebiliriz. Bunun için try-catch bloklarından sonra bir de finally bloğu oluşturmalıyız. Bunun için kullanılan kalıp şöyledir: try{ istisnaya sebep olabilecek komutlar } catch(IstisnaTürü istisnaNesnesi){ istisnanın yakalanması ve ele alınmasını sağlayan komutlar finally{ her durumda çalışması istenilen komutlar

ÖRNEK-8 Bir dizi oluşturarak, bu diziye ait olmayan elemana ulaşma istenildiğinde oluşan hata üzerinden finally bloğunu inceleyelim.

ÖRNEK-8

ÖRNEK-9 8. örnekte catch bloğumuzda beklenen istisnaya ait sınıfı yanlış girdiğimizi düşünelim. Bu yanlıştıktan dolayı catch bloğu çalışmayacak ve istisnayı ele alamayacağından uygulama hata anında sonlanacak mıdır? İnceleyiniz.

ÖRNEK-9

ÖRNEK-9 Uygulama çalıştığında hata meydana gelmesi durumunda bile finally bloğu çalışmaktadır. Uygulama olmayan dizi elemanına ulaşmak isteyene kadar düzgün çalıştı. Hata meydana geldiğinde hata nesnesini fırlattı ve finally bloktan devam etti. Dikkat edilmesi gereken finally bloktan sonraki komut satırı hatadan sonra geldiği için çalıştırılmadı, yani main metot sonunu göremedik.

ÖRNEK-10 Kendimize ait bir exception sınıfı oluşturalım ve personel sınıfı hatalarını yakalayalım. BeklenmeyenDurum sınıfımızı exception sınıfından türetelim. Üye değişkenlerimizi (veri alanlarımızı) oluşturalım. Parametre alan yapıcı yöntemi oluşturalım. Yapıcı yöntemin int tipinde yaş isminde bir parametresi olsun. Parametre alan yapıcımızda süper sınıfımızın yapıcısını çağıralım. Süper sınıfımızın yapıcısındaki argümanı istisna nesnemizin getMessage metoduna atayalım.

ÖRNEK-10 Personel sınıfımızı oluşturduğumuz yeni istisna sınıfına göre yazalım. Buna göre Personel sınıfında; Üye değişkenleri (Data alanları) oluşturalım. Varsayılan yapıcıyı oluşturalım. get-set metotlarını oluşturalım. set metodumuzu beklenmeyen durumlar için istisna nesnesi fırlatacak şekilde düzenleyelim. İstisnamız kontrollü bir istisna olduğu için parametre alan yapıcıda try-catch bloğu oluşturalım. Try-cateh bloğu içerisinde beklenmeyen değeri ve istisnaya ait mesajı ekrana yazdıralım.

ÖRNEK-10

ÖRNEK-10

KayNAKlar Kim Korkar JAVA’dan-Temel Java, Alper AKALIN, Abaküs Yayınevi, Nisan 2015