为何不抛出异常,进不了catch?

问题描述

try{DBConnectdbc=newDBConnect();try{dbc.setAutoCommit(false);dbc.executeUpdate(Str);System.out.println("执行到此1");dbc.commit();System.out.println("执行到此2");}catch(Exceptionex){System.out.println("执行到此3");System.err.println("SQLException:"+ex.toString());rs="SQLException:"+ex.getMessage();ex.printStackTrace();System.out.println("执行到此4");//dbc.rollback();}finally{try{dbc.close();}catch(Exceptione){System.out.println("执行到此5");}}}catch(Exceptione){System.out.println("执行到此5");}

解决方案

解决方案二:
导入SQL:InsertintoPDMDKpi.dbo.t_KPI_Add(KPI_Quarter,notes_id,AddN,MX_Cat,MX_Name,Qty,attr1,attr2,attr3,attr4,attr5,update_date)values('200904','02057','客户满意度','','','100','test','','','','','2010-04-2112:13:50')InsertintoPDMDKpi.dbo.t_KPI_Add(KPI_Quarter,notes_id,AddN,MX_Cat,MX_Name,Qty,attr1,attr2,attr3,attr4,attr5,update_date)values('200904','04031','客户满意度','','','100','test','','','','','2010-04-2112:13:50')InsertintoPDMDKpi.dbo.t_KPI_Add(KPI_Quarter,notes_id,AddN,MX_Cat,MX_Name,Qty,attr1,attr2,attr3,attr4,attr5,update_date)values('200904','06327','客户满意度','','','100','test','','','','','2010-04-2112:13:50')InsertintoPDMDKpi.dbo.t_KPI_Add(KPI_Quarter,notes_id,AddN,MX_Cat,MX_Name,Qty,attr1,attr2,attr3,attr4,attr5,update_date)values('200904','05276','客户满意度','','','10034asd','test','','','','','2010-04-2112:13:50')执行到此1执行到此2返回值希望抛出异常:varchar无法转换为float型(说明:varchar:10034asd)
解决方案三:
DBConnect部分代码:publicvoidexecuteUpdate(Stringsql)throwsSQLException{if(stmt!=null)stmt.executeUpdate(sql);}publicvoidexecuteUpdate()throwsSQLException{if(prepstmt!=null)prepstmt.executeUpdate();}publicvoidcommit()throwsSQLException{if(conn!=null){conn.commit();}}publicvoidrollback()throwsSQLException{try{conn.rollback();}catch(SQLExceptione){e.printStackTrace();}}publicvoidsetAutoCommit(booleanbl){try{conn.setAutoCommit(bl);}catch(SQLExceptione){e.printStackTrace();}}
解决方案四:
没明白你的意思!
解决方案五:
存在varchar:10034asd,但该列为float型。这样不就应该提示错误了么,进入catch。可是为何没有进入catch抛出异常呢。说明:希望实现功能向表中插入数据,如正确,则全部插入,如任何一条数据有误,则所有数据全部不插入,并提示错误原因。MSSqlServer2000
解决方案六:
catch只有在try部分出了异常才会执行。这是java语言的龟腚
解决方案七:
我看网上都是这样的实现思路阿。。。。而且,很变态:有一次抛出异常了的(varchar无法转化为float),然后,我“优化”了一下代码,结果再也没抛出了。超级郁闷,折腾我2天了

时间: 2024-07-31 09:29:28

为何不抛出异常,进不了catch?的相关文章

java-基础-try、catch和finally

1.try块中没有抛出异常,try.catch和finally块中都有return语句 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 public static int NoException(){          int i=10;          try{            System.out.println("i in try block is:"+i);            return --i;          }        

Javascript核心读书有感之语句

 这篇文章主要介绍了Javascript核心读书有感之语句,需要的朋友可以参考下     在javascript中,表达式是短语,那么语句(statement)就是整句或命令.正如英文语句以句号结尾,javascript以分号结尾. 表达式计算出一个值,但语句使某件事发生. "使某件事发生"的一个方法是计算带有副作用的表达式.诸如赋值和函数调用这些有副作用的表达式,是可以作为单独的语句的.这种把表达式当做语句的用法也称做表达式语句(expression statement).类似的语句

你知道Thread线程是如何运作的吗?

[引自CoorChice的博客]背景介绍 我们在Android开发过程中,几乎都离不开线程.但是你对线程的了解有多少呢?它完美运行的背后,究竟隐藏了多少不为人知的秘密呢?线程间互通暗语,传递信息究竟是如何做到的呢?Looper.Handler.MessageQueue究竟在这背后进行了怎样的运作.本期,让我们一起从Thread开始,逐步探寻这个完美的线程链背后的秘密. 注意,大部分分析在代码中,所以请仔细关注代码哦! 从Thread的创建流程开始 在这一个环节,我们将一起一步步的分析Thread

Javascript核心读书有感之语句_javascript技巧

在javascript中,表达式是短语,那么语句(statement)就是整句或命令.正如英文语句以句号结尾,javascript以分号结尾. 表达式计算出一个值,但语句使某件事发生. "使某件事发生"的一个方法是计算带有副作用的表达式.诸如赋值和函数调用这些有副作用的表达式,是可以作为单独的语句的.这种把表达式当做语句的用法也称做表达式语句(expression statement).类似的语句还有声明语句(declaration statement),声明语句用来声明新变量或者定义

HDFS读文件过程分析:读取文件的Block数据

我们可以从java.io.InputStream类中看到,抽象出一个read方法,用来读取已经打开的InputStream实例中的字节,每次调用read方法,会读取一个字节数据,该方法抽象定义,如下所示: public abstract int read() throws IOException; Hadoop的DFSClient.DFSInputStream类实现了该抽象逻辑,如果我们清楚了如何从HDFS中读取一个文件的一个block的一个字节的原理,更加抽象的顶层只需要迭代即可获取到该文件的

大白话讲解Promise(一)

去年6月份, ES2015正式发布(也就是ES6,ES6是它的乳名),其中Promise被列为正式规范.作为ES6中最重要的特性之一,我们有必要掌握并理解透彻.本文将由浅到深,讲解Promise的基本概念与使用方法.   ES6 Promise 先拉出来遛遛 复杂的概念先不讲,我们先简单粗暴地把Promise用一下,有个直观感受.那么第一个问题来了,Promise是什么玩意呢?是一个类?对象?数组?函数?   别猜了,直接打印出来看看吧,console.dir(Promise),就这么简单粗暴.

.NET中"延迟"特性的几个陷阱

.NET发展至今,其实各处都有"延迟(Lazy)"的痕迹,一个小小的"Laziness"给我们带来了不少灵活性1."延迟"的关键就在于"只在需要的时候处理数据",老赵曾经在多篇文章中提到了类似的概念,如<高阶函数.委托与匿名方法>及<您善于使用匿名函数吗?>.不过"延迟"本身也会给您带来一些陷阱,某些陷阱您很有可能也曾经遇到过.这篇文章便是总结了延迟特性的集中常见陷阱,并给出应对方案

Java学生成绩管理系统源代码

源代码 import java.io.BufferedReader;import java.io.BufferedWriter;import java.io.File;import java.io.FileNotFoundException;import java.io.FileReader;import java.io.FileWriter;import java.io.IOException;import java.io.InputStreamReader;import java.io.Pr

旧文重贴:在Csharp当中使用注释(原创)

原创 在Csharp当中使用注释 注意:本文是开心就好原创,并且曾经发表在<视窗世界>中,不欢迎转贴,十分感谢!!!由于软件的复杂性以及不可预知性,所以在程序当中添加注释是一个非常明智的选择,尤其是在团队开发当中,可以使自己的程序更加适于阅读.我们知道Csharp(即C#)作为C++语言的一种扩展版本,继承了C++的注释方法,即以"//"针对一行的注释方法,或者以"/*   */"跨行的注释方法.可以很方便所有开发人员进行使用.例一: /*Author: