javax.sql.rowset.spi

接口
异常
java.lang.Object
  继承者 java.lang.Throwable
      继承者 java.lang.Exception
          继承者 java.sql.SQLException
              继承者 javax.sql.rowset.spi.SyncProviderException
所有已实现的接口:
Serializable, Iterable< Throwable>

public class SyncProviderException
     
extends SQLException

指示 SyncProvider 机制发生的错误。如果在从原始数源读取或向原始数据源写入时遇到冲突,则 SyncProvider 抽象类扩展将创建此异常。

SyncProvider 对象也可以创建 SyncResolver 对象,可能在构建时使用它初始化 SyncProviderException 对象,或者以后使用 SyncProvider 对象对它进行设置,如果它被实现做这些的话。

在 writer 完成冲突检查并找到一个或多个冲突之后,方法 acceptChanges 将抛出此异常。应用程序可以捕获 SyncProviderException 对象,并调用其 getSyncResolver 方法,以获取其 SyncResolver 对象。关于示例,请参阅 SyncResolver 接口注释中的代码片段。此 SyncResolver 对象将反映生成该异常的 RowSet 对象,区别在于它仅包含数据源中处于冲突状态的值。SyncResolver 对象中的所有其他值将为 null

SyncResolver 对象可用于检查并解析一个行中的每个冲突,然后转到下一个有冲突的行,重复该过程。

SyncProviderException 对象可能包含(也可能不包含)对导致该异常条件的描述。可以调用继承的方法 getMessage,以获取该描述(如果存在)。

另请参见:
SyncFactory, SyncResolver, SyncFactoryException, 序列化表格

构造方法摘要
SyncProviderException()
          创建不带任何详细消息的新 SyncProviderException 对象。
SyncProviderException(String msg)
          构造带指定详细消息的 SyncProviderException 对象。
SyncProviderException(SyncResolver syncResolver)
          构造带指定 SyncResolver 实例的 SyncProviderException 对象。
 
方法摘要
 SyncResolver getSyncResolver()
          获取为此 SyncProviderException 对象设置的 SyncResolver 对象,如果没有设置,则获取包含在参考实现中的默认 SyncResolver 实现的实例。
 void setSyncResolver(SyncResolver syncResolver)
          将此 SyncProviderException 对象的 SyncResolver 对象设置为提供的对象。
 
从类 java.sql.SQLException 继承的方法
getErrorCode, getNextException, getSQLState, iterator, setNextException
 
从类 java.lang.Throwable 继承的方法
fillInStackTrace, getCause, getLocalizedMessage, getMessage, getStackTrace, initCause, printStackTrace, printStackTrace, printStackTrace, setStackTrace, toString
 
从类 java.lang.Object 继承的方法
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

构造方法详细信息

SyncProviderException

public SyncProviderException()
创建不带任何详细消息的新 SyncProviderException 对象。


SyncProviderException

public SyncProviderException(String msg)
构造带指定详细消息的 SyncProviderException 对象。

参数:
msg - 详细消息

SyncProviderException

public SyncProviderException(SyncResolver syncResolver)
构造带指定 SyncResolver 实例的 SyncProviderException 对象。

参数:
syncResolver - 用于处理同步冲突的 SyncResolver 实例
抛出:
IllegalArgumentException - 如果 SyncResolver 对象为 null
方法详细信息

getSyncResolver

public SyncResolver getSyncResolver()
获取为此 SyncProviderException 对象设置的 SyncResolver 对象,如果没有设置,则获取包含在参考实现中的默认 SyncResolver 实现的实例。

如果抛出 SyncProviderException 对象,则应用程序可以使用此方法生成 SyncResolver 对象,使用该对象可以解决导致抛出异常的冲突。

返回:
为此 SyncProviderException 对象设置的 SyncResolver 对象,如果没有设置,则返回默认 SyncResolver 实现的实例。另外,如果 SyncResolver()SyncResolver(String) 构造方法用于实例化 SyncResolver 实例,则也返回默认 SyncResolver 实现。

setSyncResolver

public void setSyncResolver(SyncResolver syncResolver)
将此 SyncProviderException 对象的 SyncResolver 对象设置为提供的对象。如果提供的参数为 null,则调用方法 getSyncResolver 将返回 SyncResolver 接口的默认参考实现。

参数:
syncResolver - 要设置的 SyncResolver 对象;不能为 null
抛出:
IllegalArgumentException - 如果 SyncResolver 对象为 null
另请参见:
getSyncResolver()