1、通过对一个常用程序分析,发现他一般也就出现这一种错误,错误信息为:
Error using
com.mysql.jdbc.JDBC4PreparedStatement/executeBatch
Java exception occurred:
java.sql.BatchUpdateException: Duplicate entry
'SHGFAUTD-20140605-1844-trade' for key 'PRIMARY'
at
com.mysql.jdbc.PreparedStatement.executeBatchSerially(PreparedStatement.java:1693)
at
com.mysql.jdbc.PreparedStatement.executeBatch(PreparedStatement.java:1108)
Error in database/fastinsert (line 260)
StatementObject.executeBatch;
Error in mat2sql_SHGF (line 40)
fastinsert(connA, 'shgftickdata',Colnames,Newdata);
通过[msgstr, msgid] = lasterr
msgstr =
Error using
com.mysql.jdbc.JDBC4PreparedStatement/executeBatch
Java exception occurred:
java.sql.BatchUpdateException: Duplicate entry
'SHGFAUTD-20140605-1844-trade' for key 'PRIMARY'
at
com.mysql.jdbc.PreparedStatement.executeBatchSerially(PreparedStatement.java:1693)
at
com.mysql.jdbc.PreparedStatement.executeBatch(PreparedStatement.java:1108)
msgid =
MATLAB:Java:GenericException
在执行语句需要用到try catch时添加以下语句
try
fastinsert(connA, 'shgftickdata',Colnames,Newdata);
catch
[msgstr, msgid] = lasterr;
if strcmp(msgid,'MATLAB:Java:GenericException')
continue
end
end
2、如果不知道错误类型,遇到错误需要跳出就简单用:
try
fastinsert(connA, 'shgftickdata',Colnames,Newdata);
catch
end