Javada Try-Catch Bloğu
-
try-catch bloğu istisna yakalamak için kullanılıyor. bende şöyle bir örnek yaptım.
do{
try{
System.out.println("harf okunacak\n");
a=oku.nextInt();
b=0;
}
catch(Exception e){
System.out.println("harf filan girilirse burda");
b=1;
}
}while(b==1);burada klavyeden harf girilirse sonsuz döngüye giriliyor. yani benim istediğin try çalıştırılmıyor. bunu nasıl düzelte bilirim.
bunun düzelme ihtimalı yoksa bu örnek için try bloğu sayı girilene kadar nasıl çalıştırılır?(özyenili fonksiyonlar hariç).
-
http://www.roseindia.net/java/beginners/entervaluesfromkeyboard.shtml
Bu belki işine yarar..
-
do{
try{b=0;
System.out.println("harf okunacak\n");
a=oku.nextInt();
}
catch(Exception e){
System.out.println("harf filan girilirse burda");
b=1;
}
}while(b==1);b=0 ı yukarıya aldım bir de böyle dene.
-
cevabınız için teşekkur ederim.
catch bloğuna giriyor sonsuz döngü oluşturuluyor. yani tekrar try bloğuna geçiyor benden yine sayı girmemi istemiyor. bunu çözemedim.
-
tam hatırlamıyorum ama, sayılarla ilgili özel bir exception sınıfı vardı bu tip hatalar için...
o şekilde bi araştırsan?
boş bi zamanımda kurcalarım bulurum büyük ihtimal :) o zamana kadar sen bulursan ne âlâ :)
-
büyük bir ihtimalle scanner sınıfıyla ilgi bir sorun. sonraki denemelerimde try bloğunada giriyor "a=oku.nextInt();" bu kod çalışmıyor sonra exception fırlatılıyor ve sonsuz döngü. bunu araştırcam.
-
yeni kod şu şekilde oluşursa istediğim gibi çalışıyor.
do{
try{
System.out.print("sayi giriniz: ");
a=oku.nextInt();
}
catch(Exception e){
System.out.println("harf filan girilirse burda "+e.toString());
b=1;
oku.nextLine();
}
}while(b==1);Scanner sınıfının nextLine metodu bir sonraki satıra geçmek için kullanılıyor. buda benim istediğim. cevaplayan herkeze teşekkurler.....
