Beiträge von vergil

    Um von mehreren PCs/Laptops über den selben Internetanschluss gleichzeitig surfen zu können, benötigst du entweder einen (NAT-)Router, oder einen (HTTP-)Proxy.

    Ist dein "Netzwerk-Switch" wirklich nur ein Switch oder ist es ein Router?

    Wenn dein Switch kein Router ist, musst du einen PC als Router oder Proxyserver konfigurieren (am besten unter Linux).

    lg
    vergil

    Zitat von Sicka

    Ich denke, wenn im try-Block ein Fehler auftritt, wid die Exception geworfen, die im catch-Block steht, ...


    Das ist definitiv falsch!
    Tritt im try-Block ein Fehler beim Parsen in Integer.parseInt(...) auf, wird immer die NumberFormatException geworfen, egal welche Exception du im catch-Block zu fangen versuchst.

    Zitat von Sicka

    Wenn beim Parsen ein Fehler auftritt, soll nicht die NumberFormatException auftreten, sondern die MyException. (auch wenn es hier nicht viel Sinn macht)


    Ein "Workaround" dafür wäre, NumberformatException zu fangen und anschließend MyException zu werfen. Diese "Technik" nennt man "re-throwing" und sie ist im allgemeinen (wie du selbst zugeben musst) nicht sehr sinnvoll:

    Zitat von rck

    Würde er dann nicht eine Meldung der Art "primFakt() throws Exception MyException, but hasn't declared so" bekommen?

    Ich bin mir nicht 100%ig sicher (auch mein Java liegt schon ein Semester zurück), aber ich glaube - nein:
    Es ist ja prinzipiell kein Problem, eine Exception in primFakt(...) auszuwerfen, man könnte sie ja auch wieder innerhalb von primFakt(...) fangen. Geschieht dies zur Laufzeit nicht, muss die Exception ins rufende Programm weitergeworfen werden (was im Programm des OP wegen fehlendem "throws ..." nicht möglich ist), oder das Java-Programm terminiert sofort mit einer Fehlermeldung. Beim Compilieren hingegen tritt soweit ich weiss in keinem dieser beiden Fälle ein Fehler auf (genau weiss ich es aber nicht, bin zu faul jetzt einen Java-Compiler zu installieren).

    Die Compiler-Fehlermeldung des OP bezieht sich meiner Meinung nach lediglich darauf, dass im catch-Block MyException gefangen wird, diese jedoch im zugehörigen try-Block nicht ausgeworfen werden kann (primFakt(...) wirft überhaupt keine Exceptions aus und die anderen Anweisungen werfen ihre eigenen spezifischen Exceptions aus).

    lg

    edit:
    Ich hab gerade das Posting von michi204 gelesen, er hat völlig Recht.
    Auf die Idee, dass Sicka MyException auf diese Weise verwenden wollte, bin ich gar nicht gekommen. Ich nahm fix an, er wirft MyException in primFakt(...).

    Ich nehme mal an du wirfst MyException in primFakt(...) aus.

    Da du MyException aber in main(...) und wahrscheinlich nicht in primFakt(...) auffängst, muss primFakt(...) MyException ans rufende (Haupt-)Programm auswerfen können.

    Also:

    public static void primFakt(int x, int i) throws MyException {
    ...
    }

    Hoffe das hilft!