2017-11-10 9 views
1

Ich verwende eine private JAVA-Bibliothek in meinem Projekt. In der Bibliotheks-API haben Entwickler eine benutzerdefinierte Ausnahmeklasse "ClassException" geschrieben und wenn eine Ausnahme ausgelöst wird, werfen sie dieses Klassenausnahmebedingungsobjekt aus. Aus irgendeinem Gesichtspunkt konnte ich nicht klar herausfinden, wo die Ausnahme auftritt, wenn ich diese Bibliothek in meinem Projekt verwende. Alles, was ich auf der Konsole als ClassException raised inside a java class Demo der privaten Bibliothek sehen konnte.Wie überschreiben Sie eine Ausnahme Klasse Methoden in JAVA

Ich habe nicht den Quellcode der Bibliothek nach meinem Wunsch zu ändern. Alles, was ich sehen kann, ist die .class-Datei.

ClassException:

public class ClassException extends Exception { 

    private static final long serialVersionUID = 1L; 
    private ClassErrorStatus mErrorCode; 

    public ClassException(ClassErrorStatus pErrorCode) { 

    } 

    public ClassException(String pMessage, ClassErrorStatus pErrorCode) { 

    } 

    public ClassException(Throwable pCause, ClassErrorStatus pErrorCode) { 

    } 

    public ClassException(String pMessage, Throwable pCause, ClassErrorStatus pErrorCode) { 

    } 

    public ClassErrorStatus getErrorStatus() { 

    } 
} 

Wie kann ich diese Klasse Methoden wie außer Kraft setzen, wenn irgendwo ein ClassException geworfen wird es meine eigene Klasse Ausnahme Methoden aufrufen sollte. Gibt es das überhaupt?

Wie throw new ClassException() sollte meine eigenen Exception-Klasse-Methoden aufrufen.

+0

Ich glaube nicht, was Sie versuchen zu tun ist möglich. Wenn Sie versuchen, benutzerdefinierten Code auszuführen, wenn diese Ausnahme ausgelöst wird, verwenden Sie einfach try-catch-Blöcke und rufen Sie Ihre benutzerdefinierte Methode im Catch auf. – nicovank

+0

Ich habe alles versucht, aber ich weiß nicht, welches Code-Snippet diese Ausnahme verursacht. Weil die Bibliothek intern eine andere Methode aufruft. –

Antwort

1

Sie eine ClassException erstellen zu produzieren mit der selbes Paket wie die Bibliothek und lege es vorher in den Klassenpfad (zB in ein jar starti ng mit _).

Sie erhalten jedoch keine weiteren Informationen, da die Ausnahme ausgelöst wird, da sie jetzt ausgelöst wird.

Sie könnten versuchen, den Code zu dekompilieren (wenn die Lizenz es Ihnen erlaubt) und den Debugger verwenden, um Schritt für Schritt zu gehen.

0

versuchen diese

  1. schreiben Sie Ihre eigenen ClassException.java
  2. kompilieren es eine ClassException.class Datei
  3. Swap mit der ursprünglichen ClassException.class Datei konnte
Verwandte Themen