Wątek przeniesiony 2016-10-23 18:54 z Java przez bogdans.

Użycie obiektu poza blokiem Try-Catch

0

Witajcie, po zadaniu ostatnim, które zostało przeniesione do kosza (a tak poza tym udało mi się je w końcu rozwiązać) teraz przyszedł czas na kolejny problem.

Otóż teraz mam zagwostkę:
Zadanie:
Przy tworzeniu nowego obiektu zadbaj o to aby argument konstruktora (gdy argument<=0) był wyłapany przez IllegalArgumentException.
No i wszystko pięknie ładnie działa ale... z drugiej strony:
Jeśli utworzę **prawidłowy **obiekt klasy Test (argument > 0), to jak mogę użyć tego obiektu poza blokiem try-catch?

Klasa Demo:

package p;
import p.Test;

public class Demo {

	public static void main(String[] args) {
		
		try {
			Test t1 = new Test(1);
		} catch(IllegalArgumentException e) {
			System.out.println(e);
		}

		// jak użyć t1 . . . ?
		// Np.: System.out.println(t1.liczba);
	}

}

A to klasa z konstruktorem Test:

package p;

public class Test {

	public int liczba;

	public Test(int liczba) {

		if (liczba > 0) {
			this.liczba = liczba;
		} else {
			throw new IllegalArgumentException("Wyjątek, liczba < 0");
		}
		
	}
	
}
1
        Test t1 = null;
        try {
            t1 = new Test(1);
        } catch(IllegalArgumentException e) {
            System.out.println(e);
        }
        if(t1 != null){
            System.out.println(t1);
        }
        

Albo

        try {
            Test t1 = new Test(1);
            System.out.println(t1);
        } catch(IllegalArgumentException e) {
            System.out.println(e);
        }
        

Przy okazji, wg Twojego programu liczba zero jest mniejsza od zera.

0

No tak moglem przypisać **null **i później go sprawdzać... Ok dziękuję:)

1 użytkowników online, w tym zalogowanych: 0, gości: 1