Hata yakalama, try-catch kullanimi

 Uygulamamisda iki tane texfield olacak. Bunlardan ilkine bir sayi girecegiz ve ‘enter’ tusuna basinca ikinci textfiedl’de sayinin iki katini gösterecegiz.

Fakat eger kullanici sayi yerine baska herhangi bir sey (harf, isaret…) girerse uyari mesaji verdirecegiz. Bunun için try-catch bloklarini kullanacagiz. Zaten makalemisin amaci da bu.
 
 
import java.awt.GridLayout;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;
 
import javax.swing.*;
 
publicclass Istisna extends JFrame{
           
      publicstaticvoid main(String[] arg){
            new Istisna();
      }
     
            JTextField txtSayi = new JTextField(15);
            JTextField txtSonuc = new JTextField(15);
     
      public Istisna(){
            super("exception örnek");
            setDefaultCloseOperation(EXIT_ON_CLOSE);
            setVisible(true);
            setLayout(new GridLayout(4,1));
           
           
            JLabel lblSayi = new JLabel("Bir sayi giriniz:");
            JLabel lblSonuc = new JLabel("Sayinin iki kati:");
           
            add(lblSayi);
            add(txtSayi);
            add(lblSonuc);
            add(txtSonuc);
           
            pack();
           
            txtSayi.addKeyListener(new KeyListener() {                
                 
                  //Bu iki metodu kullanmayacagiz
                  publicvoid keyTyped(KeyEvent e) {
                  }
                  publicvoid keyReleased(KeyEvent e) {
                  }
                  //…
                 
                  @Override
                  publicvoid keyPressed(KeyEvent e) {
                       
                             if(e.getKeyCode()==KeyEvent.VK_ENTER){
                                   try{
                                         int i = Integer.valueOf(txtSayi.getText());
                                         txtSonuc.setText(""+i*2);
                                        
                                   }
                                   catch (NumberFormatException ex) {
                                         JOptionPane.showMessageDialog(null,"Lütfen geçerli formatta bir sayi giriniz!", "Gersiz sayi formati", 1);
                                         txtSonuc.setText(null);
                                         txtSayi.setText(null);
                                         txtSayi.setFocusable(true);
                                   }
                             }                      
                  }
            });
      }
}
 
if(e.getKeyCode()==KeyEvent.VK_ENTER)
Eger ‘enter’ tusuna basildi ise…
 
int i = Integer.valueOf(txtSayi.getText());
Bu kodu String ‘i integer ’e dönüstürmek için kullaniyoruz.
 
Try-cathc blogunu kisaca özetlemek gerekirse…
 
try{
Istenmeyen bir durumla karsilasilmasi muhtemel kodlar buraya yazilir.
}
 
catch(Exception e){
herhangi bir istisna (hata) olustugunda çalismasi gereken kodlar buraya yazilir.
}
 
 .

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir