Peter: Funktionsaufruf (SQL-Datenabfrage) klappt nicht

hallo
ich hab ne class (DB) die entählt die Funktion GetData(), dieser übergibt man eine SQL-Nummer (zbsp 1).
diese funktion möchte ich gerne von der class start aufrufen, aund zwar so
Object[][] ISBNMedium = DB.GetData(0);

da das nicht geht habe ich auch folgendes probiert:
   public DB Database = new DB();
Object[][] ISBNMedium = Database.GetData(0);

aber das geht auch nicht, es komt der fehler:
"start.java": Error #: 360 : unreported exception: java.lang.Exception; must be caught or declared to be thrown at line 31, column 26

Was mache ich falsch?

vielen dank, liebe grüsse, Pete

  1. Hallo,

    ich hab ne class (DB) die entählt die Funktion GetData(), dieser übergibt man eine SQL-Nummer (zbsp 1).

    Klassen schreibt man in Java mit großem Anfangsbuchstaben.
    Methoden schreibt man in Java mit kleinem Anfangsbuchstaben.
    Variablen schreibt man in Java mit kleinem Anfangsbuchstaben.

    So steht es in den Style-Guides zu Java geschrieben. Daran mußt du
    dich nicht halten. Wenn du aber mit anderem Java-Code zurechtkommen
    willst oder andere mit deinem Java-Code zurecht kommen sollen, solltest
    du dich zumindest an der dort definierten Groß/Kleinschreibung
    orientieren.

    Funktionen gibt es in Java nicht. Das sind alles Methoden.

    diese funktion möchte ich gerne von der class start aufrufen, aund zwar so
    Object[][] ISBNMedium = DB.GetData(0);

    Dazu müßte die Methode statisch sein.

    da das nicht geht habe ich auch folgendes probiert:
       public DB Database = new DB();
    Object[][] ISBNMedium = Database.GetData(0);

    Hier müßte sie nicht mehr statisch sein.

    aber das geht auch nicht, es komt der fehler:
    "start.java": Error #: 360 : unreported exception: java.lang.Exception; must be caught or declared to be thrown at line 31, column 26

    Was mache ich falsch?

    Du liest die Fehlermeldung nicht. Dort steht nämlich drin, was du
    falsch machst. Und zwar wortwörtlich.
    Übersetzung:
    Nichgemeldete Exception: java.lang.Exception muß gefangen werden oder
    als geworfen deklariert werden.

    Also fang die Exception oder deklarier sie im Methodenkopf als
    geworfen.

    Was das genau heißt, kannst du dem Exception-Kapitel jedes Javabuchs
    entnehmen.

    Gruß
    Slyh

    1. So steht es in den Style-Guides zu Java geschrieben. Daran mußt du
      dich nicht halten. Wenn du aber mit anderem Java-Code zurechtkommen

      Ok kann ich ändern

      diese funktion möchte ich gerne von der class start aufrufen, aund zwar so
      Object[][] ISBNMedium = DB.GetData(0);

      Dazu müßte die Methode statisch sein.

      Das weiss ich auch, wenn îch sie aber static mache geht gar nichs mehr

      Hier müßte sie nicht mehr statisch sein.

      wirklich seeeehr hilfreich, das seh ich auch, aber ich will wissen warums net geht

      Nichgemeldete Exception: java.lang.Exception muß gefangen werden oder
      als geworfen deklariert werden.

      nicht schlecht deine google übersetzung, aber das hilft mir nicht wenn ich nicht weiss wo ich was ändern muss

      Also fang die Exception oder deklarier sie im Methodenkopf als
      geworfen.

      haha nicht schlecht wirklich

      Was das genau heißt, kannst du dem Exception-Kapitel jedes Javabuchs
      entnehmen.

      dein beitrag hättest du dir schenken können der hilft ja wirklich niemandem, aber trotzdem danke
      greez pete

      1. wäre schön wenn jemand was konstruktives zu meinem Beitrag hätte.

        1. wäre schön wenn jemand was konstruktives zu meinem Beitrag hätte.

          Wäre schön wenn Du Dich konstruktiver Kritik annehmen würdest.
          Ich helfe gern Stunde 40 EURO zzgl Mehrwertsteuer.

          1. Ich helfe gern Stunde 40 EURO zzgl Mehrwertsteuer.

            *kopfkratz* hast wohl deinen sarkastischen tag heute? Was soll denn dass fürne antwort sein?

      2. Hallo,

        Also fang die Exception oder deklarier sie im Methodenkopf als
        geworfen.
        haha nicht schlecht wirklich
        Was das genau heißt, kannst du dem Exception-Kapitel jedes Javabuchs
        entnehmen.
        dein beitrag hättest du dir schenken können der hilft ja wirklich niemandem, aber trotzdem danke

        Doch, denen, die sich mit den Grundlagen der Java-Programmierung auskennen, würde er helfen. Wenn die Klasse DB mit der Methode Object[][] GetData(int Nummer) Dir im Quellcode vorliegt, solltest Du da auch erkennen, warum diese Methode das Abfangen von java.lang.Exception erfordert bzw. wann sie diese Ausnahme erzeugt.

        http://java.sun.com/docs/books/tutorial/java/TOC.html#nutsandbolts
        http://java.sun.com/docs/books/tutorial/java/nutsandbolts/exception.html

        viele Grüße

        Axel

        1. geht zwar immer noch nicht ganz aber wenigstens gibts jetzt n andern feher, jeztzt is wohl was im jsp falsch aber dass find ich auch so raus. vielen dank für die links :)
          ps: ich kenn mich halt net gut aus ;p

  2. Hallo,

    kann es vielleicht sein, dass innerhalb deiner Methode "GetData" eine try/catch -Anweisung fehlt, die die Exception abfängt (z.B. wenn keine Verbindung zur Datenbank besteht)?

    Grüße
    Fraenk

    P.S. Zu den unteren Threads: Nicht grollen, wenn's nicht auf Anhieb klappt oder jemand nicht weiterhelfen konnte... ;-)

    1. ich hab jetzt in der methode die auf getdata zugreift ein try-catch gemacht, jetzt gehts zwar imer noch net aber die meldung is weg ;