2017-10-06 2 views
-1

Ich habe eine Klasse, wo ich Variablenwerte wie untenUnbehandelte Ausnahme Typ IOException in Klassenvariablen

public class JSONDBWriter{ 

    // JDBC driver name, database URL, Database credentials 
    private static final String JDBC_DRIVER = ReadPropertiesFile("JDBC_DRIVER"); 
    private static final String DB_URL = ReadPropertiesFile("DB_URL"); 
    private static final String USER = ReadPropertiesFile("USER"); 
    private static final String PASS = ReadPropertiesFile("PASS"); 



    public static void main(String[] args) { 

Allerdings bin bevölkern, Java-Compiler geben Fehler „Unbehandelte Ausnahme Typ IOException“ My ReadPropertiesFile IOException wirft.

+0

ReadPropertiesFile() werden Verfahren und Verfahren der nicht direkt in der Klasse genannt. Sie benötigen andere Methoden, Konstruktoren oder Blöcke zum Aufruf. –

+0

Auf welche Zeile wirft es diesen Fehler? –

Antwort

1

Verwenden Sie den statischen Initialisierer.

public class JSONDBWriter { 
    public static String driver; 

    static { 
     try{ 
      driver = //... 
     } catch (IOException e){ 
      // 
     } 
    } 
    //other methods 
} 

Wenn Sie Ihre Variablen final, versuchen Sie so etwas wie unten zu sein:

public class Test { 

    public static final String test = getDataNoException(); 

    private static String getData() throws IOException { 
     return "hello"; 
    } 

    private static String getDataNoException() { 
     try { 
      return getData(); 
     } catch (IOException e) { 
      e.printStackTrace(); 
      return "no data"; 
     } 
    } 
    //other methods 
} 
+0

Meine Variablen sind endgültig –

+0

@AbhijitKumarSingh überprüfen Sie die bearbeitete Antwort. –

Verwandte Themen