Dies ist eine statische Kopie unseres alten Forums. Es sind keine Interaktionen möglich.
This is a static copy of our old forum. Interactions are not possible.

Neo

Erfahrener Schreiberling

  • "Neo" is male
  • "Neo" started this thread

Posts: 322

Date of registration: Jul 24th 2005

Location: Hannover

Occupation: Informatik

1

Wednesday, October 12th 2005, 6:51pm

Java try-catch Anweisung

Habe eine Frage zu Java Kapitel12 SS2005:

"Aufrufe von Methoden (und Konstruktoren), die eine Ausnahmesituation auslösen und
dies im Kopf ihrer Definition durch throws ... anzeigen, sollten bei ihrem Aufruf
stets in eine try-catch-Anweisung eingebettet werden."

Meine Frage: Wann benutze ich diese Try-Catch Anweisung? Also, woher weiß ich, welche Methoden oder Konstruktoren hier gemeint sind?

Danke schonmal mi Voraus

migu

free rider

  • "migu" is male

Posts: 2,643

Date of registration: Dec 11th 2001

Occupation: Developer

2

Wednesday, October 12th 2005, 7:04pm

Quoted

Original von Neo
Meine Frage: Wann benutze ich diese Try-Catch Anweisung? Also, woher weiß ich, welche Methoden oder Konstruktoren hier gemeint sind?
Ein Beispiel:
Du hast eine Klasse Auto mit der Methode starteMotor(), die eine ausgedachte "EmptyBatteryException" wirft.
Die Definition der Klasse sieht also etwa so aus:

Quoted

class Auto {
public Auto () { /* ...*/ }
// die folgende Methode zeigt anhand ihrer Deklaration, dass sie eine EmptyBatteryException werfen kann:
public starteMotor () throws EmptyBatteryException {
// irgendein Code, der in einem bestimmten Fall diese Exception wirft, z.B. mit:
// throw new EmptyBatteryException ("Batterie ist leider leer, Pech gehabt.");
}
}

/* in einer anderen Klasse ist nun eine Methode main. Dort wird eine Instanz der Klasse Auto erzeugt und dann die Methode starteMotor() aufgerufen. */
public static void main (String[] args) {
Auto volvo = new Auto ();
// hier muss die Exception gefangen werden:
try {
auto.starteMotor ();
} catch (EmptyBatteryException e) {
// reagiere irgendwie
}
}

Hoffe, das hilft.
tar: Anlegen eines leeren Archivs wird feige verweigert.

kakTuZ

größtenteils harmlos

  • "kakTuZ" is male

Posts: 309

Date of registration: Oct 14th 2003

Location: Hannover

Occupation: Software Developer

3

Wednesday, October 12th 2005, 7:21pm

RE: Java try-catch Anweisung

Quoted

Original von Neo
Also, woher weiß ich, welche Methoden oder Konstruktoren hier gemeint sind?


Wie migu schon gesagt hat, kann man das an dem throws ... in der Signatur erkennen. Hat man den Quellcode nicht, dann gibt es oft in der Dokumentation hinweise darauf. Javadoc kann solche Informationen mit Auflisten (wie es z.B in der Java API Doku ist).
Hast du weder Code, noch Doku, musst du einfach ausprobieren. Dann meldet sich der Java Compiler, wenn eine Exception abgefangen werden muss.
#! /bin/bash
yes 'arch is still the best'

This post has been edited 1 times, last edit by "kakTuZ" (Oct 12th 2005, 7:22pm)


Neo

Erfahrener Schreiberling

  • "Neo" is male
  • "Neo" started this thread

Posts: 322

Date of registration: Jul 24th 2005

Location: Hannover

Occupation: Informatik

4

Thursday, October 13th 2005, 7:20pm

Danke, das hilft weiter