0

嗨,如果一个类无法实现可序列化接口并且我们尝试序列化它,我们应该得到一个NotSerializableException.Here I'm not getting it。该类Cat未实现Serializable,我尝试对其进行序列化。为什么编译运行正常?

 import java.io.*;
 class Cat{}
 class MyTest{
 public static void main(String a[]){
    Cat c = new Cat();
    try{
        FileOutputStream fos = new FileOutputStream("test.ser");
        ObjectOutputStream oos = new ObjectOutputStream(fos);
        oos.writeObject(c);
        oos.close();
        fos.close();
    }
    catch(Exception e){e.getMessage();}
    try{
        FileInputStream fis = new FileInputStream("test.ser");
        ObjectInputStream ois = new ObjectInputStream(fis);
        c =  (Cat)ois.readObject();
        ois.close();
        fis.close();
    }
    catch(Exception e){e.getMessage();}
}
}
4

1 回答 1

5

它正在抛出异常,你只是在吞下它们

catch(Exception e){e.getMessage();}

它只是调用一个返回字符串的方法,它不记录任何内容。

利用

e.printStackTrace();
于 2013-09-16T20:29:41.837 回答