Heim >Java >javaLernprogramm >Warum wirft mein Java-Code den Fehler „Ausnahme; muss abgefangen oder zum Auslösen deklariert werden' aus?
Hintergrund:
Wenn der Fehler „Ausnahme; muss abgefangen oder zum Auslösen deklariert werden“ auftritt, bedeutet dies, dass während der Programmausführung eine Ausnahme ausgelöst wurde, der Programmierer diese jedoch nicht behandelt hat oder erklärte, dass es ausgelöst werden soll.
Das Problem:
Im bereitgestellten Codeausschnitt:
byte[] encrypted = cipher.doFinal(toEncrypt.getBytes()); return encrypted;
Der Verschlüsselungsmethode fehlt eine Ausnahmedeklaration in seiner Methodensignatur und kann keine Ausnahmen behandeln, die innerhalb des Versuchs auftreten können blockieren.
Lösung:
Um das Problem zu beheben, ändern Sie die Signatur der Verschlüsselungsmethode, um die Ausnahme zu deklarieren, die möglicherweise ausgelöst wird:
public static byte[] encrypt(String toEncrypt) throws Exception { // ... code within the try block ... return encrypted; }
Zusätzlich , in der actionPerformed-Methode:
public void actionPerformed(ActionEvent e) { // ... code ... try { byte[] encrypted = encrypt(concatURL); // ... code ... } catch (Exception exc) { // ... handle the exception ... } }
Stellen Sie sicher, dass alle von aufgerufenen Methoden ausgelösten geprüften Ausnahmen behandelt werden oder durch erneutes Werfen vermehrt. In diesem Fall muss die Verschlüsselungsmethode alle eventuell auftretenden Ausnahmen behandeln oder deklarieren.
Zusätzliche Überlegungen:
Das obige ist der detaillierte Inhalt vonWarum wirft mein Java-Code den Fehler „Ausnahme; muss abgefangen oder zum Auslösen deklariert werden' aus?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!