Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/344.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 异常后执行程序_Java_Exception_Execution - Fatal编程技术网

Java 异常后执行程序

Java 异常后执行程序,java,exception,execution,Java,Exception,Execution,您好,我想执行一个程序,将文本文档插入数据库。现在我刚刚完成错误部分。此时,它将信息输入数据库,但当数据字段中出现错误时,程序停止执行 我的目标是它将记录错误并继续执行程序。例如,如果文档中有10行,假设第三行有一个错误,那么不管怎样,我都希望插入9行。在本例中,我的代码将只插入前两行。有没有一种方法或类似的东西可以帮助我实现这一点 **编辑格式化 try { while (true) { String line = reader.readLi

您好,我想执行一个程序,将文本文档插入数据库。现在我刚刚完成错误部分。此时,它将信息输入数据库,但当数据字段中出现错误时,程序停止执行

我的目标是它将记录错误并继续执行程序。例如,如果文档中有10行,假设第三行有一个错误,那么不管怎样,我都希望插入9行。在本例中,我的代码将只插入前两行。有没有一种方法或类似的东西可以帮助我实现这一点

**编辑格式化

    try {

        while (true) {

            String line = reader.readLine();
            if (line == null) {

                break;
            }
            String[] parts = line.split("");
            for (String part : parts) {
                array1.add(part);
            }
            String query = " insert into FRONTMC.HECHO (folio_hecho, folio_orden, emisora, serie,"
                    + "clave_sentido, titulos_hecho, precio, importe, liquidacion, contraparte, id_estatus, isin, contrato,"
                    + "secondary_exec_id, exec_id, F11_ClOrdID, fecha_recepcion, fecha_sentra)"
                    + " values ( ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?,convert(varchar(30),cast(? as datetime),120),convert(varchar(30),cast(? as datetime),120))";

            PreparedStatement preparedStmt = con.prepareStatement(query);

            for (int counter = 0; counter < array1.size(); counter++) {
                if (array1.get(counter).substring(0, 3).equals("37=")) {
                    preparedStmt.setString(1, array1.get(counter).substring(3));
                }
                if (array1.get(counter).substring(0, 3).equals("37=")) {
                    preparedStmt.setString(2, array1.get(counter).substring(3));
                }
                if (array1.get(counter).substring(0, 3).equals("49=")) {
                    preparedStmt.setString(3, array1.get(counter).substring(3));
                }
                if (array1.get(counter).substring(0, 4).equals("447=")) {
                    preparedStmt.setString(4, array1.get(counter).substring(4));
                }
                if (array1.get(counter).substring(0, 3).equals("54=")) {
                    preparedStmt.setString(5, array1.get(counter).substring(3));
                }
                if (array1.get(counter).substring(0, 3).equals("32=")) {
                    preparedStmt.setString(6, array1.get(counter).substring(3));
                }
                if (array1.get(counter).substring(0, 3).equals("31=")) {
                    preparedStmt.setString(7, array1.get(counter).substring(3));
                }
                if (array1.get(counter).substring(0, 4).equals("381=")) {
                    preparedStmt.setString(8, array1.get(counter).substring(4));
                }
                if (array1.get(counter).substring(0, 3).equals("63=")) {
                    preparedStmt.setString(9, array1.get(counter).substring(3));
                }
                if (array1.get(counter).substring(0, 4).equals("448=")) {
                    preparedStmt.setString(10, array1.get(counter).substring(4));
                }
                if (array1.get(counter).substring(0, 4).equals("150=")) {
                    preparedStmt.setString(11, array1.get(counter).substring(4));
                }
                if (array1.get(counter).substring(0, 3).equals("48=")) {
                    preparedStmt.setString(12, array1.get(counter).substring(3));
                }
                if (array1.get(counter).substring(0, 2).equals("1=")) {
                    preparedStmt.setString(13, array1.get(counter).substring(2));
                }
                if (array1.get(counter).substring(0, 4).equals("527=")) {
                    preparedStmt.setString(14, array1.get(counter).substring(4));
                }
                if (array1.get(counter).substring(0, 3).equals("17=")) {
                    preparedStmt.setString(15, array1.get(counter).substring(3));
                }
                if (array1.get(counter).substring(0, 3).equals("11=")) {
                    preparedStmt.setString(16, array1.get(counter).substring(3));
                }
                if (array1.get(counter).substring(0, 3).equals("52=")) {
                    String date = array1.get(counter).substring(3);
                    SimpleDateFormat sdf1 = new SimpleDateFormat("yyyyMMdd");
                    SimpleDateFormat sdf2 = new SimpleDateFormat("dd/MM/yyyy");
                    String ds2 = sdf2.format(sdf1.parse(date));
                    String x = date.substring(9, 21);
                    String newfecha1 = ds2 + " " + x;
                    preparedStmt.setString(17, newfecha1);
                }
                if (array1.get(counter).substring(0, 3).equals("52=")) {
                    String date = array1.get(counter).substring(3);
                    SimpleDateFormat sdf1 = new SimpleDateFormat("yyyyMMdd");
                    SimpleDateFormat sdf2 = new SimpleDateFormat("dd/MM/yyyy");
                    String ds2 = sdf2.format(sdf1.parse(date));
                    String x = date.substring(9, 21);
                    String newfecha1 = ds2 + " " + x;
                    preparedStmt.setString(18, newfecha1);
                }
            }
            preparedStmt.execute();
        }
        System.out.println(array1);
        System.out.println("insert complete");
        new Thread(new Runnable() {
            @Override
            public void run() {
                exitomsj();
            }
        }).start();
        reader.close();
    } catch (Exception tryerror) {
        System.out.println("Error en dato");
        tryerror.printStackTrace();
    }
试试看{
while(true){
字符串行=reader.readLine();
如果(行==null){
打破
}
String[]parts=line.split(“”);
用于(字符串部分:部分){
1.增加(部分);
}
String query=“插入FRONTMC.HECHO(对开对开、对开对开对开、对开对开对开、对开对开对开、对开对开对开、对开对开对开
+clave_Senido、Titolos_hecho、precio、importe、liquidacion、contraparte、Idu estatus、isin、contrato、
+二级执行id,执行id,F11克隆id,接收,接收
+“值(?,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,转换(varchar(30),cast(?as datetime),120),转换(varchar(30),cast(?as datetime),120));
PreparedStatement preparedStmt=con.prepareStatement(查询);
对于(int counter=0;计数器
回顾一下主要的清洁需求,你的问题是
mainLoop:
for (int i = 0; i != someVariable; i++) {
    //do something
    nestedLoop:
    for (int ii = 0; ii != someOtherVariable; ii++) {
        //some code...
        /*
        ** Here, you can then skip the remainder of the "nestedLoop" block,
        ** and start the next iteration of the "mainLoop" using `continue mainLoop;`
        */
         //some more code...
    }
}