Java 正在删除已删除的会话对象

Java 正在删除已删除的会话对象,java,session,Java,Session,我有一个非常简单的问题。假设会话对象不存在或已删除,并且我正在使用sessionMap.removenon\u现有的\u对象\u键或已删除的\u对象。那么会发生什么?它会引发异常吗?您可以看到SessionMap的代码 删除指定的会话属性 参数: 输入要删除的属性的名称 返回: 已删除的值,如果未找到该值,则为null,因此未删除 public V More ...remove(Object key) { if (session == null) { return null;

我有一个非常简单的问题。假设会话对象不存在或已删除,并且我正在使用sessionMap.removenon\u现有的\u对象\u键或已删除的\u对象。那么会发生什么?它会引发异常吗?

您可以看到SessionMap的代码

删除指定的会话属性

参数: 输入要删除的属性的名称

返回: 已删除的值,如果未找到该值,则为null,因此未删除

public V More ...remove(Object key) {
  if (session == null) {
   return null;
    }

synchronized (session) {
    entries = null;

   V value = get(key);
  session.removeAttribute(key.toString());

    return value;
 }
}
但在remove方法的一行中,它调用HttpSession方法removeAttributeString键为:

如果在一个实例上调用它,这将抛出IllegalStateException 无效会话

你可以查一下
session.removeAttribute(key.toString());