0

私はこれをコーディングした瞬間までに、ゲームから情報を保存およびロードするための小さなクラスを行っています:

import java.io.FileReader;
import java.io.FileWriter;

import org.exolab.castor.xml.MarshalException;
import org.exolab.castor.xml.Marshaller;
import org.exolab.castor.xml.Unmarshaller;
import org.exolab.castor.xml.ValidationException;

class InformationToStoreLoad{
    public InformationToStoreLoad(){

    }
}

public class GameSaverLoader {

        /*
         * Save the current game
         */
        public void saveXML(){

            FileWriter writer;
            try {
                writer = new FileWriter("save.xml");
                Marshaller.marshal(new InformationToStoreLoad(), writer);
                writer.close();
            } catch (IOException e) {
                e.printStackTrace();
            } catch (Exception e) {
                e.printStackTrace();
            }
        }

             /*
         * Load a game saved before
         */
        public void loadXML()
        {
            try {
                FileReader reader = new FileReader("article.xml");
                InformationToStoreLoad gameToLoad = 
                        (InformationToStoreLoad) Unmarshaller.unmarshal(InformationToStoreLoad.class, reader);
            } catch (IOException e1) {
                e1.printStackTrace();
            }
        }
}

私は .NET プラットフォームに取り組んできましたが、Java には少し慣れていないので、すべてを正しく行ったかどうかはわかりません。Castor ライブラリをエクスポートするには、プロジェクトを右クリックし、[プロパティ]、[Java ビルド パス]、[ライブラリ] の順に選択し、最後に [外部 JAR の追加] をクリックして、この JAR をエクスポートしました: 「castor-1.3.1- xml.jar"

ただし、マーシャラーおよびアンマーシャラークラスの使用中に次のエラーが発生します

Unhandled exception type ValidationException

クイックフィックスで「周囲の try に catch 句を追加する」を選択すると、代わりに次のエラーが発生します。

No exception of type MarshalException can be thrown; an exception type must be a subclass of Throwable

The method printStackTrace() is undefined for the type MarshalException

No exception of type ValidationException can be thrown; an exception type must be a subclass of Throwable

The method printStackTrace() is undefined for the type ValidationException

また、クイックフィックスでは、これを行うオプションがあります:

public void saveXML() throws MarshalException, ValidationException{

次に、次のエラーが表示されます。

MarshalException 型の例外はスローできません。例外タイプは、Throwable のサブクラスでなければなりません

タイプ ValidationException の例外はスローできません。例外タイプは、Throwable のサブクラスでなければなりません

これらのエラーを修正する方法がわかりません。この問題を解決する方法を教えてもらえますか?

よろしくお願いします

4

0 に答える 0