Ich habe eine ConnectException, die nicht gefangen zu sein, aus irgendeinem Grund

Ich arbeite an einem Android-Anwendung, die sockets verwendet. Ich habe eine Funktion namens initializeStreams() öffnet den socket und versucht, eine Verbindung. Diese Funktion wirft eine ConnectException wenn die Verbindung konnte nicht hergestellt werden. Aber für einige Grund, in den code, der Aufrufe initializeStreams(), die einen catch-block für ConnectException, die log-Drucke aus seinen eigenen stack-trace der exception, anstatt auf den catch-block. Der catch-block wird nie erreicht, auch wenn die genaue exception wird geworfen. Hier ist der code:

Try-block:

try {
        initializeStreams();

            /* other code */

    } catch (ConnectException e) {
        Log.i(TAG, "caught connect exception");

    }

initializeStreams():

    public void initializeStreams() throws ConnectException {
    try {
        Log.i(TAG, "Attempting to connect");

        requestSocket = new Socket(SERVER_ADDR, PORT);

                    /* other code */


    } catch (IOException e) {
        e.printStackTrace();
    }

Kann ich nicht verstehen, so dass jede Hilfe wäre sehr geschätzt werden.

  • Wir können nicht herausfinden, warum das passiert, da die einzige Buchse operation, die du gepostet hast in deinem code nicht werfen eine ConnectException. Post der rest des Codes.
  • Ja. Die Log-rechts, bevor der socket-Initialisierung wird gedruckt, dann die ConnectException stack-trace ist gedruckt, anstatt das Protokoll, das im catch-block. initializeStreams() ist die einzige Funktion, die wirft ConnectException und die erste code-snippet, das ist der einzige Ort, wo es aufgerufen wird.
  • was meinst du? Socket-operation ist die, die die Ausnahme ausgelöst, so steht es in der Stapel-Ablaufverfolgung, und es ist der einzige socket-operation in meinem Programm im moment.
  • Ich sehe keine Methode, wirft ConnectException hier: docs.oracle.com/javase/1.4.2/docs/api/java/net/Socket.html
  • ConnectException extends SocketException aus.
InformationsquelleAutor aakbari1024 | 2012-07-03
Schreibe einen Kommentar