![](https://csdnimg.cn/release/download_crawler_static/88758265/bg5.jpg)
serialVersionUID 是实现序列化接口对象的唯一标识,其是为了验证反序列化后的对象是否和反
序列化之前的对象类型是否兼容。
其实就是 序列版本号 ,全局常量(对于类来说是唯一的),用来识别该类。
总之,我们在提供异常类的时候,都要加上 serialVersionUID ,用来唯一标识当前类,便于在传
输过程中知道是它。
如果没有写这一句话,系统也会自动赋值一个,只不过赋的可能不确定,当修改类的时候,这个值
可能会变化,在一些场景下会影响代码的正确性。
我们可以改一下,然后拿过来:
接下来,下边都是构造器。
模仿这个,我们也提供几个重载的构造器,根据实际问题,想造哪一个就用指定的即可。如下:
2、如何使用自定义异常类
上面的例子中,因为继承于异常体系了,所以就不会报错。
public class BelowZeroException extends Exception{
static final long serialVersionUID = -33875169948L;
}
package yuyi02;
public class BelowZeroException extends Exception{
static final long serialVersionUID = -33875169948L;
public BelowZeroException(){
}
public BelowZeroException(String name){
super(name); //Exception类的super是Throwable,这里super是Exception
}
public BelowZeroException(String message, Throwable cause) {
super(message, cause);
}
}
package yuyi02;
public class ThrowTest {
public static void main(String[] args) {
Student s1=new Student();