2017-10-06 10 views
-1

私はしかし、Javaコンパイラは私のReadPropertiesFileはIOExceptionがスロー エラー「未処理の例外の種類にIOException」を与えている未処理の例外型IOExceptionが

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) { 

以下のように変数の値を移入していたクラスを持っています。

+0

ReadPropertiesFileを(メソッドとメソッドのは、直接クラスに呼び出されませんです。彼らは他のメソッド、コンストラクタ、ブロックする必要があります。 –

+0

その行にはどのようなエラーが表示されますか? –

答えて

1

静的初期化子を使用します。

public class JSONDBWriter { 
    public static String driver; 

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

あなたの変数が最終になりたい場合は、以下のような何か試してみてください。)

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

私の変数は最終的です –

+0

@AbhijitKumarSinghは編集された答えをチェックします。 –

関連する問題