İçindekiler:
- Büyük harfleri ait oldukları yere koyma
- Bir switch deyiminden kopma
- Değerleri çift eşitlik işareti ile karşılaştırma
- Bir GUI'ye bileşen ekleme
- Olayın işlenmesine yönelik dinleyiciler ekleme
- Gerekli yapıcıların tanımlanması
- Statik olmayan başvuruları düzeltme
- Bir dizide sınırlar içinde kalma
- Olası işaretçileri öngörüyor
- Java'nın dosyalarını bulmasına yardımcı olma
Video: Java Hata Yakalama try-catch-finally 2024
Asla hata yapmayan insanlar asla hiçbir şey yapmayan insanlardır. Ancak dikkatli planlama, aşağıdakiler gibi en yaygın Java sürümlerinden kaçınmanıza yardımcı olabilir.
Büyük harfleri ait oldukları yere koyma
Java, büyük / küçük harfe duyarlı bir dildir; bu nedenle, P ve Q larını aklınızdan geçirmelisiniz - diğer her harfle birlikte alfabenin. Java programları oluştururken aklınızda bulundurmanız gereken bazı şeyler:
- Java'nın anahtar kelimeleri tamamen küçüktür. Örneğin, Java if deyiminde, ise veya IF ise olamaz.
- Java API'sından (Uygulama Programlama Arayüzü) isim kullandığınızda, adların durumu API'da görünenle eşleşmelidir.
- Kendiniz oluşturduğunuz adların, programın tamamında aynı şekilde büyük harf kullanımına tabi olduğundan emin olmalısınız. Bir myAccount değişkenini bildirirseniz, hesabınıza MyAccount, myaccount veya Myaccount olarak başvuramazsınız. Değişken adını iki farklı şekilde saklarsan, Java tamamen farklı iki değişkene atıfta olduğunu düşünür.
Bir switch deyiminden kopma
Bir switch deyiminden kurtulmazsanız, devrilmeye başlarsınız. Örneğin, ayet değeri 3 ise, aşağıdaki kod üç satırı da basar: Son sakının, acısıdır ve beyinsizdir.
anahtar (ayet) {
case 3:
çıkış. yazdır ("Son yasaklama,");
dışarı. println ("son duraklama");
dava 2:
çıkış. Baskı ("O acıdır");
dışarı. println ("o acıdır");
dava 1:
çıkış. Baskı ("Beyniniz yok");
dışarı. println ("beyin yok");
}
Değerleri çift eşitlik işareti ile karşılaştırma
İki değeri birbirleriyle karşılaştırdığınızda çift eşitlik işareti kullanırsınız.
if (inputNumber == randomNumber)
doğru, ancak
if (inputNumber = randomNumber)
satırı doğru değil.
Bir GUI'ye bileşen ekleme
İşte bir Java çerçevesi için bir yapıcı:
public SimpleFrame () {
JButton düğmesi = yeni JButton ("Teşekkür ederim …" );
setTitle ("… Katie Feltman ve Heidi Unger" );
setLayout (yeni FlowLayout ());
(düğme) ekleyin;
düğmesine basın. addActionListener (bu);
setSize (300, 100);
SetVisible (doğru);
}
Ne yaparsanız yapın, add yöntemine yapılan çağrıyı unutmayın. Bu çağrı olmadan, bir düğme oluşturmanın tüm işlerine gidersiniz, ancak düğme çerçevenizde görünmez.
Olayın işlenmesine yönelik dinleyiciler ekleme
Bir SimpleFrame oluşturmak için önceki bölümün koduna bir bakın.AddActionListener çağrısını unutursanız, düğmeyi tıklattığınızda hiçbir şey olmaz. İkinci kez daha zorlu düğmeyi tıklamak yardımcı olmuyor.
Gerekli yapıcıların tanımlanması
Genel Sıcaklık (çift sayı)
gibi parametrelerle bir yapıcı tanımladığınızda, bilgisayar artık sizin için varsayılan bir parametreden bağımsız yapıcı oluşturmaz. Başka bir deyişle artık
Sıcaklık odasıTemp = yeni Sıcaklık ();
parametrelere sahip olmayan sıcaklık oluşturucunuzu açıkça tanımlamazsanız.
Statik olmayan başvuruları düzeltme
Aşağıdaki kodu derlemeye çalışırsanız bir hata iletisi alırsınız:
class WillNotWork {
String greeting = "Merhaba";
public static void main (Dizge args []) {
Sistem. dışarı. println (tebrik);
}
}
Ana bir statik olduğu için karşılama mesajı statik olmadığı için bir hata iletisi alırsınız.
Bir dizide sınırlar içinde kalma
On bileşenden oluşan bir dizi bildirirken, bileşenlerin 0'dan 9'a kadar olan dizileri bulunur. Başka bir deyimle,
int misafirler [] = yeni int [10];
'te misafirler dizisinin bileşenlerini konuklar [0], misafirler [1] vb. Gibi tüm misafirler [9]' e yazarak görebilirsiniz. Misafir dizisinin dizin 10 ile hiçbir bileşeni olmadığı için konukları yazamazsınız [10].
Olası işaretçileri öngörüyor
Gerçek hayatta Java programlamasında, o istisna her zaman görürsünüz. NullPointerException, bir nesneyi döndürmesi gereken bir yöntemi çağırdığınızda gelir; bunun yerine, yöntem hiçbir şey döndürmez. İşte ucuz bir örnek:
import static java. Lang. Sistem. dışarı;
import java. io. Dosya;
sınıfı ListMyFiles {
public static void main (Dizge args []) {
Dosya myFile = yeni Dosya (" windows" );
Dize dir [] = myFile. liste();
için (String fileName: dir) {
çıkışı. println (dosya adı);
}
}
}
Bu program, windows dizinindeki tüm dosyaların bir listesini görüntüler.
Ancak, windows'u başka bir şeye değiştirirseniz ne olur - bir dizinin adını temsil etmeyen bir şey?
Dosya myFile = yeni Dosya ("# *% $!" );
Sonra yeni Dosya çağrısı null (özel bir Java kelimesi hiçbir şey anlamına gelir) döndürür, dolayısıyla myFile değişkeni içinde hiçbir şey yoktur. Daha sonra kodda dir değişkeni hiçbir şey ifade etmiyor ve tüm dir değerlerini tekrarlama denemesi sefil bir şekilde başarısız oluyor. Büyük bir NullPointerException alırsınız ve program çevrenizde çökmeye başlar.
Bu tür felaketlerden kaçınmak için Java'nın API dokümantasyonunu kontrol edin. Null döndürebilecek bir yöntemi çağırıyorsanız, istisna işleme kodunu programınıza ekleyin.
Java'nın dosyalarını bulmasına yardımcı olma
Bilgisayar size NoClassDefFoundError verdiği zaman Java kodunu derleyip kendi işinize bakıyor. Her şey yanlış gidiyor olabilir, ancak şans bilgisayarın belirli bir Java dosyası bulamamasıdır. Bunu düzeltmek için tüm gezegenleri doğru şekilde hizalamanız gerekir.
- Proje dizininizde, kodunuzda adları kullanılan tüm Java dosyaları bulunmalıdır.
- Adlı paketleri kullanırsanız, proje dizininizin alt dizinleri adlandırılmış olması gerekir.
- CLASSPATH cihazınızın düzgün ayarlanması gerekir.