Frage try and catch

Status
Nicht offen für weitere Antworten.
D

Dr. Dönna

Gast
Hallo!
Mein Code berechnet den Kehrwert von -10 bis 10. Bei 1/0 gibt es logischerweise einen Fehler. Zuvor habe ich ein try and catch im Inneren der Schleife durchfeführt. Dort hat es auch stets geklappt, dass der Code mit 1/1 weitererechnet hat. WErfe ich das Objekt e nun jedoch hoch, so hört der Code an der Position 11(1/0) auf. Wodran liegt das? Wie kann ich den Code hochwerfen und die SChleife trotzdem weiter laufen lassen?

Code:
public class aufgabe36_b
{
	public static void main(String args[])
	throws IOException
	{
			int n=1;
		try
		{
			for(int i=-10; i<=10; i++)
			{
				try
				{
					System.out.print("Durchlauf: " +n +" "); n++;
					System.out.println(1/i);
				}
				catch(ArithmeticException e)
				{
					throw e;
				}
			}
		}
		catch(ArithmeticException e)
		{
			System.out.println("Vorgang nicht möglich");
			System.out.println(e.getLocalizedMessage());
			System.out.println(e.toString());
			System.out.println(e.getClass());
		}
	}
}
 

byte

Top Contributor
so ein arg verschachteltes try'n'catch würd ich mir auch gar nich erst angewöhnen.
 

Sky

Top Contributor
Oder lass das ganze try-catch weg und arbeite mit einem double (da dein ergebnis sonst immer 0 ist)
Code:
   int n = 1;
    for( int i = -10; i <= 10; i++ ) {
      System.out.print( "Durchlauf: " + n + " " );
      n++;
      double erg = 1d / i;
      if( Double.isInfinite( erg ) ) {
        System.out.println( "geht nicht" );
      } else {
        System.out.println( erg );
      }
    }
 

lin

Top Contributor
Ja, aber ich meine natürlich bei diesem Bsp.:
Da lässt sich ne Exception leich verhindern durch ein If..
Code:
public class aufgabe36_b
{
   public static void main(String args[])
   {
         int n=1;
         for(double i=-10; i<=10; i++)
         {

               System.out.print("Durchlauf: " +n +" "); n++;
               if(i!=0) { //<-- schaut ob i gleich null
                    System.out.println(1d/i);
               } else {
                    System.out.println("divide by 0 error"); //wenn ich gleich null gibt er ne error aus
               }
         }
   }
}
 

chilli

Mitglied
Gar nicht! Entweder Du wirfst einen Fehler durch
'throw e'
und dieser veranlasst den Abbruch der
for()-Schleife
oder Du machst irgendwas anderes im catch
zB ne Logausgabe mit
'System.out.println("Problem gefunden, egal ich mache trotzdem weiter");'
aber lässt das Programm weiter laufen.

Dh. der 'throw e' dient dazu wenn ein Problem auftritt, durch das
dein Programm nicht weiterlaufen kann/soll oder darf...

In der Praxis benutzt man das häufig um zB zusätzliches Logging
zu erhalten und kombiniert ne Ausgabe und den throw

Code:
catch(ArithmeticException e)
{
    System.out.println("Achtung Fehler in Zeile 12. Prog wird abgebrochen")
    throw e;
}

Natürlich kann man den catch auch benutzen um neue Objects zu erzeugen etc.

Aber was die Anderen geschrieben haben ist absolut das sinnvollste ;) , allerdings gehts
halt nicht immer ohne...
Hoffe Dir hilft die Erklärung zum Verständniss vom exception handling mit try-catch
und throw.

hf chilli
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
J Frage zum Thema Exceptions (Try/Catch) Java Basics - Anfänger-Themen 3
M Frage zu try ... catch Java Basics - Anfänger-Themen 9
I Frage zu Try - Catch - Finally Java Basics - Anfänger-Themen 10
C Frage zu try - catch (saubere Lösung?) Java Basics - Anfänger-Themen 3
C Exceptions, try, catch --> Frage Java Basics - Anfänger-Themen 7
J Try-Catch-Frage Java Basics - Anfänger-Themen 13
J Frage zum Quellcode - Zusammhänge und Ablauf. Java Basics - Anfänger-Themen 2
D Erste Schritte Frage eines absoluten Anfängers Java Basics - Anfänger-Themen 3
Zrebna Frage zu Test-Driven Development (TDD) Java Basics - Anfänger-Themen 3
I Frage Thymeleaf -> Fehler ignorieren und mit "" ersetzen? Java Basics - Anfänger-Themen 15
I Frage Thymeleaf -> Prefix / Suffix ändern? Java Basics - Anfänger-Themen 11
D Rekursions Probleme / frage Java Basics - Anfänger-Themen 4
T Frage zu Parse Java Basics - Anfänger-Themen 2
H Frage an die Profis Java Basics - Anfänger-Themen 4
J Eine konzeptionelle Frage zu OOP Java Basics - Anfänger-Themen 3
P Frage zu Rekursion und Backtracking Java Basics - Anfänger-Themen 2
H Frage zur Ausgabe Java Basics - Anfänger-Themen 4
H Frage zu arithmetischen Operationen Java Basics - Anfänger-Themen 20
F Kurze Frage zu replace() Java Basics - Anfänger-Themen 19
JavaSchmecktLecker Polymorphie Frage zur Methodenüberschreibung Java Basics - Anfänger-Themen 21
J Frage zu einem "Taschenrechner" code Java Basics - Anfänger-Themen 9
B Erste Schritte Frage zu Instanzierung und Referenzen Java Basics - Anfänger-Themen 8
DoubleM Runtime.getRuntime().exec Frage Java Basics - Anfänger-Themen 2
J Eine theoretische Frage zur Praxis - JPanel oder Canvas Java Basics - Anfänger-Themen 5
O Frage: Formaler Typbezeichner? Java Basics - Anfänger-Themen 3
I BlueJ Queue Frage für Klausur Java Basics - Anfänger-Themen 2
N Verständnis Frage zu Variablen Java Basics - Anfänger-Themen 3
N Spezielle frage zum Comparator Java Basics - Anfänger-Themen 6
L Frage zum Array Java Basics - Anfänger-Themen 1
A Frage zum UML Design Java Basics - Anfänger-Themen 1
I Hilfe bei Klausur Frage Java Basics - Anfänger-Themen 8
izoards Drucken Frage zu FAQ Beitrag Java Basics - Anfänger-Themen 2
J Frage zu meinem Code (OOP) Java Basics - Anfänger-Themen 4
sserio Split() -> Regex Frage. Java Basics - Anfänger-Themen 7
A OCA Study Guide: 2. Frage aus Kapitel 3 Java Basics - Anfänger-Themen 9
sserio Date Library Frage Java Basics - Anfänger-Themen 9
Max246Sch Frage zu Währungsrechner Code Java Basics - Anfänger-Themen 2
sserio Frage zu HashMaps Java Basics - Anfänger-Themen 20
sserio Frage zu Threading - Multithreading Java Basics - Anfänger-Themen 2
sserio Frage zu Lambda Ausdrücken Java Basics - Anfänger-Themen 7
sserio Frage zu BigInteger Java Basics - Anfänger-Themen 1
D Frage bzgl. Enum-Handhabung Java Basics - Anfänger-Themen 16
xxx12 Frage Java Basics - Anfänger-Themen 2
I Generelle Frage zu Mikroservices (Spring Boot?), Docker... Java Basics - Anfänger-Themen 7
R Frage zu Methoden (Rückgabewert u. ohne.) Java Basics - Anfänger-Themen 2
A Frage zur programmierung Java Basics - Anfänger-Themen 12
M Frage zur Methode split der Klasse String Java Basics - Anfänger-Themen 32
R Input/Output Frage zu Java IO Java Basics - Anfänger-Themen 6
M Frage zu printWriter Java Basics - Anfänger-Themen 5
C Frage zu OLSMultipleLinearRegression Java Basics - Anfänger-Themen 31
KogoroMori21 Frage zum Euklidischen Algorithmus Java Basics - Anfänger-Themen 11
S Verständnis-Frage zu einer HÜ? Java Basics - Anfänger-Themen 1
F Frage betreff Programm mit dem man C++-Code in JAVA-Code übersetzen lassen kann Java Basics - Anfänger-Themen 2
L Frage zur Ticket Maschine Java Basics - Anfänger-Themen 1
J Frage zu OOP-Klassendiagramm Java Basics - Anfänger-Themen 8
OSchriever Frage zu Compiler Java Basics - Anfänger-Themen 8
H Frage zu Throw Exception Java Basics - Anfänger-Themen 2
TimoN11 Frage zu Java-Vererbung (Cast) Java Basics - Anfänger-Themen 5
Bademeister007 Hallo Leute ich hab eine Frage zur ArrayList Java Basics - Anfänger-Themen 8
F Frage betreff Programmierbücher zu Lagerverwaltung als Konsolenprogramm Java Basics - Anfänger-Themen 3
dieter000 Kurze Frage kann mir ejmand kurz diesen Code erklären, bzw wie man die zeilen erklärt und so Java Basics - Anfänger-Themen 1
I String.split regex Frage Java Basics - Anfänger-Themen 2
N Best Practice Frage zum MVC-Pattern Java Basics - Anfänger-Themen 2
dieter000 Frage zu einem Beispiel... Java Basics - Anfänger-Themen 5
J Frage zum Loggen Java Basics - Anfänger-Themen 18
J Methoden Frage: Array-Werte in anderer Methode ändern Java Basics - Anfänger-Themen 4
Zrebna Frage zum "Referenzen-konzept" in Java Java Basics - Anfänger-Themen 8
JD_1998 Array-Position aus einer Methode in einer anderen ausgeben (Kurze Frage) Java Basics - Anfänger-Themen 2
marcooooo Frage zu bestimmten Beispiel Java Basics - Anfänger-Themen 31
NeoLexx equals()-Methode Verständnis Frage anhand Code Beispiel Java Basics - Anfänger-Themen 22
N Input/Output Eine Frage über system.out.println. Java Basics - Anfänger-Themen 10
B Erste Schritte Learning Coding (!) Frage an erfahrene Programmierer. Java Basics - Anfänger-Themen 23
M konzeptuelle Frage: In welcher Klasse definiert man am Besten Methoden, die die Kommunikation mit dem User regeln? Java Basics - Anfänger-Themen 8
B Frage zum Code verständnis im Resultat Java Basics - Anfänger-Themen 10
C Exception-Frage Java Basics - Anfänger-Themen 3
J Eine Frage zur Schreibweise == ? : Java Basics - Anfänger-Themen 3
S Frage des Designs Java Basics - Anfänger-Themen 1
JavaTalksToMe Extends/Implements Frage Java Basics - Anfänger-Themen 3
pkm Frage zu Servletfunktion Java Basics - Anfänger-Themen 0
B Frage zur Währungsumrechnung Java Basics - Anfänger-Themen 3
S Allgemeine Frage über Generics und Vererbungen Java Basics - Anfänger-Themen 5
Kirby.exe Frage zur Verwendung von Interfaces Java Basics - Anfänger-Themen 6
D Frage zu Strings einer Exception Java Basics - Anfänger-Themen 4
L Wie frage ich ab, ob in einem Array, Werte doppelt vorkommen? Java Basics - Anfänger-Themen 4
D Frage zur IDE IntelliJ IDEA Java Basics - Anfänger-Themen 6
H Frage zum 2d Array Java Basics - Anfänger-Themen 1
N Frage zum Newton-Fraktal Java Basics - Anfänger-Themen 1
H Frage zu interfaces Java Basics - Anfänger-Themen 1
J Frage dazu Variablen klassenübergreifend zu verändern Java Basics - Anfänger-Themen 22
I Frage zu SkipList Java Basics - Anfänger-Themen 4
G Frage zu JScrollPane Java Basics - Anfänger-Themen 12
Kirby.exe Allgemeine Frage Java Basics - Anfänger-Themen 3
W Frage zu anonymen Klassen Java Basics - Anfänger-Themen 4
J Kleine Frage zu OOP Java Basics - Anfänger-Themen 371
S Frage Klasse und Objekte Java Basics - Anfänger-Themen 2
F Frage zu Iteratoren Java Basics - Anfänger-Themen 2
C Erste Schritte Frage zur ArrayList Java Basics - Anfänger-Themen 15
J Frage zur Vererbung Java Basics - Anfänger-Themen 1
H Frage zur ermittlung eines doppelte Paars aus Sotieralgorithmus Java Basics - Anfänger-Themen 4
H Frage zum Array Java Basics - Anfänger-Themen 17

Ähnliche Java Themen

Neue Themen


Oben