• 关于

    异常信息怎么用

    的搜索结果

回答

这个是 用 system.out  输出的; 请看 com.jfinal.core.ActionReporter的 doReport 方法.  你 记录这个有什么意义?######不然 log4j 应该记录些什么?难道只记录异常?不记录发生异常的过程?###### 简单介绍两个方法: 1:通过全局拦截器,在拦截器中通过反射得到 ActionInvocation 对象中的 action、inters 对象,就可以获取到你需要的信息,urlPara 可以通过 controller.getPara() 获取到,method可以通过ai.getMethodName() 获取到 2:另一个不太常规的方法,将 System.out 输出流切换到你自己的实现类上去,在你自己的实现类上使用 log4j 输出。     JFinal Action Report 设计用于开发阶段对开发者的实时提示,一般不建议楼主的用法,通常用一个全局拦截器记录所有异常即可 ######回复 @chi_9 : 日志记录得越详细当然越有助于解决问题,异常里面包含了错误堆栈,能够知道是哪一行代码抛出的异常,所以不需要再重复记录action,至于action参数及 sql 当然记录了更有助于排查错误,因为有些错误只在特定的参数下面出现######以前也没在意过日志,想请教一下,一般log4j应该怎么记录日志呢?只记录异常吗?那在发现异常的时候怎么来判断异常呢?是不是也应该记录一下action的请求(就是我上面发的图片)和对数据库操作的sql呢?不然只看异常,怎么能够准确分析问题所在?还是看到异常出现的位置,进行模拟测试?求教######      
爱吃鱼的程序员 2020-05-30 23:40:03 0 浏览量 回答数 0

回答

页面500错误就是你写的程序有问题,报的是空指针错误。 最好直接debug看哪里保错下面有我的jsp代码有时间您帮忙看看我的程序应该没有问题,就是正常的加数据然后提交到提交就报错.之前用hibernate做过没错的换了用mytis就出错了 在action里面打个断点,看看哪里抱了空指针错误调过,进的地方看不懂... 异常信息比较没有意义 有可能是你struts的拦截器出现异常 或许你代码中抛出异常,然后被你拦截器捕获这个异常重新处理,配置出现错误,产生了新的异常 对struts2没有深入做过项目,不太了解其某些具体的用法,大概也就我说的这些可能吧 我也是刚学struts2拦截器还没用你这个是修改,我估计你的实体类中肯定有字段没有在jsp页面赋值 我查过都有字段的有做非空验证你都使用了struct怎么还再使用jsp的<%%>语法呢。 @暮念倾指柔这个维护起来很不好吧。用习惯了其他的也差不多这个逻辑性感觉好些
爱吃鱼的程序员 2020-06-09 14:02:41 0 浏览量 回答数 0

回答

    红色框部分 txConfig 为 null 很正常,只有在为 Controller 的 method 或者 Controller 配置了 TxConfig 注解才不为 null,整个方法可以返回 null 值给用者,如果最终为 null ,注意看 Tx.java 中的第 54 行: if (config == null) config = DbKit.getConfig();    即当没有为 action 或 controller 配置 TxConfig 注解时,会使用默认的 Config ---> DbKit.getConfig()。      事务不生效的原因有很多,主要有如下: 1:mysql 数据库需要将表的引擎设置为 InnDB 2:事务级别要足够合适,默认事务级别的 2,读取数据到内存再改变数据存入数据库的场景需要设置极别为 4 才符合事务要求 ######回复 @littleant : 先后顺序严格按照先全局、后Controller、最后action的次序,在全局、Controller、action 同一等级里面,配置在前面的就先执行######回复 @JFinal : 明白了,老大,那怎么设置拦截器的先后顺序呢,特别是在Tx拦截器的前后顺序,我自己写的拦截器怎么设置在他前面?######回复 @littleant : 有人是加了一个统一的全局异常拦截器,规范化了异常输出数据######回复 @littleant : 在 Tx 拦截器前面加拦截器,接管所有异常,然后再适当 render 自己满意的数据出去。注意是 Tx 前面加拦截器不是后面######恩,找到原因了,我在拦截器捕获了所有异常跳转到指定提示页面,如果把异常继续抛出就能回滚,郁闷,那我改如何处理异常提示信息页面呢?直接使用setError500View显示异常信息页?
kun坤 2020-06-05 23:13:45 0 浏览量 回答数 0

回答

    红色框部分 txConfig 为 null 很正常,只有在为 Controller 的 method 或者 Controller 配置了 TxConfig 注解才不为 null,整个方法可以返回 null 值给用者,如果最终为 null ,注意看 Tx.java 中的第 54 行: if (config == null) config = DbKit.getConfig();    即当没有为 action 或 controller 配置 TxConfig 注解时,会使用默认的 Config ---> DbKit.getConfig()。      事务不生效的原因有很多,主要有如下: 1:mysql 数据库需要将表的引擎设置为 InnDB 2:事务级别要足够合适,默认事务级别的 2,读取数据到内存再改变数据存入数据库的场景需要设置极别为 4 才符合事务要求 ######回复 @littleant : 先后顺序严格按照先全局、后Controller、最后action的次序,在全局、Controller、action 同一等级里面,配置在前面的就先执行######回复 @JFinal : 明白了,老大,那怎么设置拦截器的先后顺序呢,特别是在Tx拦截器的前后顺序,我自己写的拦截器怎么设置在他前面?######回复 @littleant : 有人是加了一个统一的全局异常拦截器,规范化了异常输出数据######回复 @littleant : 在 Tx 拦截器前面加拦截器,接管所有异常,然后再适当 render 自己满意的数据出去。注意是 Tx 前面加拦截器不是后面######恩,找到原因了,我在拦截器捕获了所有异常跳转到指定提示页面,如果把异常继续抛出就能回滚,郁闷,那我改如何处理异常提示信息页面呢?直接使用setError500View显示异常信息页?
montos 2020-05-29 21:19:17 0 浏览量 回答数 0

问题

问一个关于servlet的问题?报错

我写了一个servlet,在post方法里面使用try-catch包裹代码,由于本人疏忽加上maven智能,在文件上传时我只添加了common-fileupload依赖,maven自己下载了io包&...
爱吃鱼的程序员 2020-06-09 14:58:02 0 浏览量 回答数 1

回答

可能是服务器出错了,抛异常了,客户端解析异常信息的时候出错。######确实是后台代码的错误,struts返回结果的jsp不存在了,但是当时后台也没有异常信息这是最郁闷的。######,,######,######最后一个</a>只有结束标签,没有开始标签,放到编译器里直接就报错了。######这个一般是出了什么错误,教你一招怎么调试 从0开始,备份一个页面,把这个页面清空,然后从备份页面里把代码一点一点加到这个页面 每加一点,运行一下,看看有没有错误,这样能定位到哪里出错了 ######这样调不会累死吗######你的 contentType是text/html,你ajax调用完是按什么类型来解析的?######一楼正解,这种JS报错的问题很常见啊。一般都是由于服务器端抛异常了,导致的 ###### 引用来自“alu129336”的评论一楼正解,这种JS报错的问题很常见啊。一般都是由于服务器端抛异常了,导致的 由于服务器端抛出异常后是一个错误页面,而你前端还是用JSON去接收数据的返回,导致JS的报错。 去看服务器端的异常信息吧。 ######确实你说的没错,问题已经解决了######问题已经解决了,谢谢大家!
kun坤 2020-06-06 13:50:34 0 浏览量 回答数 0

问题

使用SMS javaSDK 简单发信例子报用户没有授权,怎么解决?

集成阿里云aliyun-java-sdk-sms-3.0.0-rc1.jar和aliyun-java-sdk-core-3.0.0.jar 使用简单发信息的例子,然后就报了com.aliyuncs.exceptions.ClientExce...
ta_j 2019-12-01 20:06:34 2065 浏览量 回答数 1

回答

Re验证备案信息是否符合条件系统异常! 也没个人理,不能备案怎么用啊!过几天系统升级,更是得等要十天
十二 2019-12-02 02:59:57 0 浏览量 回答数 0

回答

ojdbc14.jar不是版本是14,是支持1.4jdk的版本。 ojdbc14.jar不是版本是14,是支持1.4jdk的版本。 ojdbc14.jar不是版本是14,是支持1.4jdk的版本。 回复 @放空:根据是用jdk的版本和oracle数据库版本选择jdbc驱动。只要这两个对了就不会出驱动问题,除非是驱动bug。jdbc驱动从oracle官方网站下载。先找对应的oracle版本,然后选择jdk版本。那,jdbc的版本在哪配置的?怎么弄呀?看异常信息是Oracle驱动版本太低了,要9i以上。回复 @烟雨三月:我用的是jdbc和tomcat应该用什么转换器?回复 @放空:http://blog.csdn.net/java_freshman01/article/details/49797765用的是ojdbc14.jar应该不低了呀。。 注意jdbc驱动版本! 注意jdbc驱动版本! 注意jdbc驱动版本! 重要的事情说三遍。 用的是ojdbc14.jar应该不低了呀 用的是ojdbc14.jar应该不低了呀 特么的明明就是没找到类,在纠结半天 那要怎么解决呢? nestedexceptionisjava.lang.ClassNotFoundException:oracle.sql.BLOB异常信息很明确了啊,驱动问题,找不到类 NotethatOracleLobHandlerrequiresOracleJDBCdriver9iorhigher!;nestedexceptionisjava.lang.ClassNotFoundException:oracle.sql.BLOB  看这个提示是你的驱动版本过低,需要9i以上,不过你说你自己的版本是14按理说是不低的,后面显示找不到类,估计是别的什么原因.清理一下项目试试吧。按照目前给出的信息能得到的消息就这样架包什么的都从新加了好几遍了,不行。你看看方便加qq详细聊聊么?远程也可以。
爱吃鱼的程序员 2020-06-09 15:31:43 0 浏览量 回答数 0

问题

Gson解析Json数据出现了异常

在用Gson解析如下Json的时候 String jsonStr = "{code:403,msg:无查询好友信息,result:[]}"; 解析代码为: Gson son = new Gson(); MessageInfo info = ...
杨冬芳 2019-12-01 20:17:57 1323 浏览量 回答数 1

回答

  具体报什么错误,贴出详细异常信息回复<aclass='referer'target='_blank'>@lamian:推测你的字段"shijian"为字符串类型,Timestamp无法插入我debug之后record里面的信息是修改之后的日期,但是我执行booleanflag=Db.update("clxx",record);报错com.jfinal.plugin.activerecord.ActiveRecordException:java.sql.SQLException:ORA-01861:文字与格式字符串不匹配<divclass="ref"> 引用来自“JFinal”的评论  具体报什么错误,贴出详细异常信息已解决,谢谢再仔细调试一下,record.set(...)时明明用的Timestamp,而在fillStatment中并没有走elseif(valueinstanceofjava.sql.Timestamp这个分支,很明显中途有过什么变故<divclass="ref"> 引用来自“lamian”的评论<divclass="ref"> 引用来自“JFinal”的评论  具体报什么错误,贴出详细异常信息<divclass='ref'> 引用来自“lamian”的评论<divclass="ref"> 引用来自“JFinal”的评论  具体报什么错误,贴出详细异常信息分享下解决方案,同时也可以把方案反馈给@JFinal的呀!具体怎么解决的呢?分享出来吧
爱吃鱼的程序员 2020-06-12 11:04:45 0 浏览量 回答数 0

回答

....啥错?######回复 @luokery : 完整异常我贴3楼了######回复 @钟涛Z : 你编辑问题吧, 异常信息不全. 没法看.######图片发布了 我打字给你 Exception in thread "main" com.sun.xml.internal.ws.fault.ServerSOAPFaultExption 还有一个问题就是,我把controller做层Webservice的时候报错 但是做在service层没事######我图片贴后面了, 你帮我看看 我用的框架是SpringSpringMVCMybatis 我怀疑是不是 在客户端调用Webservice的时候 框架没起作用######这提问…######异常在三楼######Exception in thread "main" com.sun.xml.internal.ws.fault.ServerSOAPFaultException: Client received SOAP Fault from server: java.lang.NullPointerException Please see the server log to find more detail regarding exact cause of the failure.######回复 @求是科技 : 我找到原因了,客户端调用接口的时候 已经调用到方法了,但是方法里面执行SQL 的时候 空指针异常,对象没有被spring创建,那么问题来了 客户端调用接口的时候 dao对象要怎么创建。######这种原因,依然看不出错误在哪里,小伙伴,你应该贴出关键点的代码和错误的关键信息或者是经过你排查一番,你觉得哪里可能会出错的代码。
爱吃鱼的程序员 2020-06-02 11:26:18 0 浏览量 回答数 0

回答

....啥错?######回复 @luokery : 完整异常我贴3楼了######回复 @钟涛Z : 你编辑问题吧, 异常信息不全. 没法看.######图片发布了 我打字给你 Exception in thread "main" com.sun.xml.internal.ws.fault.ServerSOAPFaultExption 还有一个问题就是,我把controller做层Webservice的时候报错 但是做在service层没事######我图片贴后面了, 你帮我看看 我用的框架是SpringSpringMVCMybatis 我怀疑是不是 在客户端调用Webservice的时候 框架没起作用######这提问…######异常在三楼######Exception in thread "main" com.sun.xml.internal.ws.fault.ServerSOAPFaultException: Client received SOAP Fault from server: java.lang.NullPointerException Please see the server log to find more detail regarding exact cause of the failure.######回复 @求是科技 : 我找到原因了,客户端调用接口的时候 已经调用到方法了,但是方法里面执行SQL 的时候 空指针异常,对象没有被spring创建,那么问题来了 客户端调用接口的时候 dao对象要怎么创建。######这种原因,依然看不出错误在哪里,小伙伴,你应该贴出关键点的代码和错误的关键信息或者是经过你排查一番,你觉得哪里可能会出错的代码。
爱吃鱼的程序员 2020-05-29 17:05:34 0 浏览量 回答数 0

回答

....啥错?######回复 @luokery : 完整异常我贴3楼了######回复 @钟涛Z : 你编辑问题吧, 异常信息不全. 没法看.######图片发布了 我打字给你 Exception in thread "main" com.sun.xml.internal.ws.fault.ServerSOAPFaultExption 还有一个问题就是,我把controller做层Webservice的时候报错 但是做在service层没事######我图片贴后面了, 你帮我看看 我用的框架是SpringSpringMVCMybatis 我怀疑是不是 在客户端调用Webservice的时候 框架没起作用######这提问…######异常在三楼######Exception in thread "main" com.sun.xml.internal.ws.fault.ServerSOAPFaultException: Client received SOAP Fault from server: java.lang.NullPointerException Please see the server log to find more detail regarding exact cause of the failure.######回复 @求是科技 : 我找到原因了,客户端调用接口的时候 已经调用到方法了,但是方法里面执行SQL 的时候 空指针异常,对象没有被spring创建,那么问题来了 客户端调用接口的时候 dao对象要怎么创建。######这种原因,依然看不出错误在哪里,小伙伴,你应该贴出关键点的代码和错误的关键信息或者是经过你排查一番,你觉得哪里可能会出错的代码。
优选2 2020-06-05 14:26:51 0 浏览量 回答数 0

回答

被关于事务隔离级别错误信息误导,认为REPEATABLE-READ级别和SERIALIZABLE级别能解决丢失更新的问题,然而实际是不能的。因为mysql的select ... from table;语句 不管哪种隔离级别都是不会阻塞的在隔离级别下只有在更新数据时才会等待写锁(排它锁)的释放,所以我多个线程可以同时读取到number=3,基于此进行修改就必然会导致丢失更新。所以解决办法为程序中加入悲观锁 或 乐观锁 机制。悲观锁采用的是 select ... for update这时事务B读取操作将无法执行,只有当事务A的commit完成,事务B才可以继续执行,相当于采用串行一个个执行。乐观锁常用的是版本控制或时间戳控制这时候事务B发现version=1已经不存在了,因为事务A首先执行完更新了数据库,把version字段设为了2,这样就会导致该事务提交失败,需要我们在程序中判断异常情况下如何继续操作。以上就是我当前的理解,至于mysql本身支持的MVCC(多版本并发控制)还不知道怎么用,乐观锁的异常处理也不太清楚具体要怎么实现,可能是要根据具体的业务场景采用不同的处理手段吧。
蛮大人123 2019-12-02 01:45:54 0 浏览量 回答数 0

回答

你下面不是有logger.info这行代码这是可以捕捉到异常的,看异常一点一点分析吧。 “如果有一条数据报错,那么全部数据都不能执行成功”,这个可以用oracle事务。 java倒是不大了解,应该可以根据oracle返回值判断事务是否执行成功,然后中断吧。 你看看报错信息,应该会有相关的SQL语句信息在里面,然后你再去找对应的SQL了。 查看日志文件,找对应的错误 报错之前打印出来。或者存在局部变量中,catch异常之后,把这个局部变量的值打印出来。例如: Strings=null;try{x=next-data();xxxxx其他处理代码。xxxx }catch(Exceptione){这里打印s即可。} 你这里应该可以只记录索引i。异常时打印出来。 事务的特性,你虽然1000条执行一次,但是没有提交,如果有一条报错肯定都回滚了,你可以1000条执行一次,然后马上提交,这样如果一个批次出现异常,那么只会影响这1000条,这1000条会回滚,然后查看后台日志,看看具体是哪一条 这是我打印的SQL。 我是想把所有的数据导进新的库中,其中我还要对数据进行相应的改变,所以需要写这个程序。 其次我要执行的任务是晚上下班时,将程序跑起来,然后第二天所有程序导进新的数据库,然后错误的数据能够打印到日志里面。 可以程序验证数据有效性,有误的log、跳过。 有人给我说过可以自定义异常,这样只要能定到是那条数据有错了,能拿到错误的Object数组就好处理了,所以想问问,到底该怎么做
爱吃鱼的程序员 2020-06-23 00:06:09 0 浏览量 回答数 0

回答

Re短信发送失败接口却不能捕获失败信息? 抱歉图片没有传上去 我用.net写了短信发送,不过无法识别 如“UNDELIV” 类型的运营商发送失败的情况,“InvalidSendSms”类型的错误信息却可以得知。该怎么做才能知道短信是否真的发送失败了呢? 此处异常无法捕获运营商错误 ------------------------- Re短信发送失败接口却不能捕获失败信息? 不知道为何图片总是传不上去……
百里潋長 2019-12-01 23:43:38 0 浏览量 回答数 0

问题

liunx分区表破坏了怎么修复

一时手贱用了dd if=/temp/tem of=/dev/xvda1命令,导致整个系统盘的/目录都空了,手动终止命令显示已经拷贝3MB多的数据,所以不太清楚是真的整个盘都被清空了还是因为分区表破坏导致的。现在是回滚了2015的系统盘快照,...
iblack 2019-12-01 19:50:43 1252 浏览量 回答数 1

问题

短信发送失败接口却不能捕获失败信息?

我用.net写了短信发送,不过无法识别 如 “ [font=PingFangSC, "]UNDELIV [font=PingFangSC, "]” 类型的运营商发送失败的情况,“ ...
百里潋長 2019-12-01 21:31:18 2146 浏览量 回答数 1

问题

云虚拟主机操作手册(第三方)

     主机使用方法 首次管理主机,登陆www.aliyun.com ,会员登录—云虚拟主机—管理--进入控制面板   ,重置主机相关密码 ;     ...
ethnicity 2019-12-01 22:07:56 9103 浏览量 回答数 0

回答

" 这个异常应该和源码没有关系。 class文件结构里最开头4字节是Magic Number,也就是0xCAFEBABE。 后面接的4个字节就是题主异常信息中的Minor version和Major version。 第5、第6是Minor version,第7、第8则是Major version。 而Java的版本号是从45开始的,参考: J2SE 8 = 52, J2SE 7 = 51, J2SE 6.0 = 50, J2SE 5.0 = 49, JDK 1.4 = 48, JDK 1.3 = 47, JDK 1.2 = 46, JDK 1.1 = 45 真不知道知道这些有什么用,题主试试用Java7以上编译。 参考:http://en.wikipedia.org/wiki/Java_class_file###### java 版本不对###### 源码的话,应该没问题,如果是这样报错的话,我遇到过,是因为环境变量和conf文件指定的问题,找不到你所指定的URLCat这个类,你只要配置好你所需要使用的集群的配置文件,并且指定好对应集群的客户端,以及相关的各种库就可以了,当时我也是搞了很久,在书上对配置的东西弱化了,没怎么讲,只能自己去实践。 你可以参考一下这个文章:http://segmentfault.com/blog/akunamatata/1190000002610514 这里面详细讲了如何配置环境变量,编译,执行,以及如何指定配置文件###### 从异常提示的信息的来看就是不支持的class文件版本异常,建议更换更高版本的jdk" ![image.png](https://ucc.alicdn.com/pic/developer-ecology/6b33e51e20354f0cb29e0d35a8d70fca.png)
因为相信,所以看见。 2020-05-27 10:09:01 0 浏览量 回答数 0

回答

log.debug("sql出错");###### 这个是hibernate自己打印出来的,没法改了,不过你可以try-catch到,然后抛出自己的异常,只打印出你想要的信息 话说你的日志怎么是中文的 ######但是,我用的是hibernate的方法,是不是,不用它的方法了。
kun坤 2020-06-14 11:22:07 0 浏览量 回答数 0

回答

" 我用具体的代码来解释下吧接口A,有方法X public interface A { public void methodX() throws IOException; } 在用户模块有这样一段调用 public class ModuleUser{ public void methodY(A a) throws IOException { a.methodX(); } } 现在要对方法X增加一个异常,变为: public interface A { public void methodX() throws IOException,DataFormatException; } 这样用户模块ModuleUser的方法Y就要修改,不修改,编译就不会通过。 怎么样解决呢?方法1,新方法调用旧方法。(接口中不能新方调用旧方法,所以我改为抽象类) public abstract class A { public void methodX() throws IOException { try { methodNewX(); } catch (DataFormatException e) { throw new RuntimeException(e); } } public abstract void methodNewX() throws IOException ,DataFormatException; } 方法2: 以拋出一个unchecked异常,unchecked就是编译器不检查的运行时异常。如下 public interface A { public void methodX() throws IOException,RuntimeException; } 这样用户代码也不用改。 但这两个方法都不好。 作者喜欢的做法是这样的(也是推荐的方式)。在包中定义自己的异常 public class MyException extends Exception { } 接口一开始就写成 public interface A { public void methodX() throws MyException; } 用户模块就会是这样的: public class ModuleUser{ public void methodY(A a) throws MyException { a.methodX(); } } 如果再遇到上面要加异常信息的情况就为MyException创建一个子类,加接口A上,这样用户代码就不用改,也能适配。 上面一段话大概就是想表达这个观点。因为这本书是国外人写的,翻译成中文,所以读起来有点别扭。英文原文是这样的 There is one particular area with problems in changing interfaces in Java: adding an exception to the throws clause. 读这本书,觉得不好理解的,就可试着看看英文原文。"
因为相信,所以看见。 2020-05-27 16:47:16 0 浏览量 回答数 0

问题

云浏览器无法安装软件

用数据线链接电脑,选择连接到云空间 ,电脑端云浏览器自动启动 ,可以正常读取手机端云帐号登录信息 ,可以同步短信联系人。但安装应用时(本地应用和云市场在线应用均无法正常安...
at4119o5p 2019-12-01 20:15:22 5960 浏览量 回答数 5

问题

使用ECS搭建的DZ云平台连接不到服务器怎么解决?

出了点小错,由于站点ID/通信KEY等关键信息丢失导致Discuz!云平台服务出现异常,使用诊断工具检测站点ID和KEY,如有疑问请访问官方论坛寻求帮助 云平台主接口测试 这里连接不...
米兰的铁蛋 2019-12-01 21:38:15 8022 浏览量 回答数 5

回答

提示看错误日志看过了,当时觉得没什么用,然后就清空日志了。。。是不是windows下的文件编码去了mac下有问题?觉得不应该是这个问题,编码问题的话那页面起码可以载入没遇到, 问题提问不详细,不知道你要搞什么我之前用windows写项目,现在换mac写ios,但是把之前的php文件放进mamp打开运行,会报错500错误属于服务端的报错,肯定有异常信息打印,检查日志我一直这样没问题:smile:你在mac下运行不会报错?那我怎么会错,这么背
爱吃鱼的程序员 2020-06-12 15:45:54 0 浏览量 回答数 0

回答

不,你不能在 success/error 回调中获取 deferred 对象的结果(或者说你已经在它的结果中了),这是因为 deferred 对象包含的是“未来”的结果——在你获取 deferred 对象的时候,它所代表的异步请求还没发生。并且正因为如此,我们才能利用 deferred 对象来去定义未来可能发生的事情,要么 success(resolved),要么 error(rejected)。所以在 success/error 回调中获取 deferred 对象是没有意义的,就好像“在未来中获取代表未来的那个过去对象”。那么要怎么做?从大的层面上来讲,API 的设计不够完整。你们可以自定义错误代码/错误信息,但更重要的是如果发生了错误,那就应该同时修改 HTTP 状态码。我记得 jQuery 的 Ajax 请求会拦截非 2xx 的 HTTP 响应,然后走 error 回调,因此如果你们这样做了,那么属于错误的部分就应该在 deferred.fail() 里面去处理。这才是正途。当然现实总是很傻缺,错误也经常以 200 的形式返回给客户端,所以我们不得不在 success 回调中处理异常。那么使用 deferred 的时候怎么做呢?deferred 这种模式和 Promise 很像,它也是一个 thenable 对象,它的 then 方法可以让你串联多个函数并依次执行。所以你可以写一个通用的过滤函数来处理返回错误对象的情况,然后 reject 整个 deferred 对象。由于我很久没用 jQuery 了,以下示例代码仅凭印象写下,你就当是伪代码,看个意思就好:var deferred = $.ajax({ url: url, type: 'get', data: params, ... }); function processError(response) { if (!(response.state == 10000)) { // reject deferred 对象,并将状态码传给 .fail() 的回调 return deferred.reject(response.state); } deferred.resolve(response); // 这一句可能不需要,细节记不清了 } deferred .then(processError) // 调用上面的函数,过滤异步请求的结果 .done(processYourBussiness) // 处理正常逻辑 .fail(errorHandler); // 处理异常逻辑你可能会想不要 errorHandler 转而直接在 processError 里处理异常,但是记住我们之所以这么做,其实就是在“模拟”正确的模式,用 processError 来代替本来应该发生的 HTTP Status 不等于 2xx 的情形。这样一来,无论 API 那里是否处理正确,客户端总是走在正确的轨道上,将来若是 API 更改,处理了正确的状态码,那就只需要去掉 processError 编好,它相当于一个中间件。若有可能,还是用 Promise 吧,jQuery 的 deferred 实现是有缺陷的。
小旋风柴进 2019-12-02 02:21:23 0 浏览量 回答数 0

问题

W806使用云浏览器无法安装应用求助!!!

用数据线链接电脑,选择连接到云空间 ,电脑端云浏览器自动启动 ,且可以正常读取手机端云帐号登录信息 ,可以同步短信联系人。但安装应用时(本地应用和云市场在线应用均无法正常...
at1685u6p 2019-12-01 20:14:41 6514 浏览量 回答数 5

回答

请贴出完整的异常堆栈######已补异常信息###### 对此不熟,貌似xml中的属性名写错了。driverClass? ######回复 @ldl-1023 : 大部分时间都是用jfinal。ssh很少用了。######你用的都是spring或其他方式###### "Druid是根据url前缀来识别DriverClass的,这样使得配置更方便简洁。" 结合JdbcUtils的代码 https://github.com/alibaba/druid/blob/master/src/main/java/com/alibaba/druid/util/JdbcUtils.java 来看, 应该是没有读到hibernate的配置信息才导致的. 可以往这个方向排查看看. 如果还是解决不了, 最好提供一下你的项目目录结构, 以及hibernate的配置文件相关的目录. ######没有 oracle-jdbc的jar包?###### 引用来自“JacarriChan”的评论没有 oracle-jdbc的jar包? 如果引入了,看是不是重复了。 如果没有重复,建议你断点到“JdbcUtils.java:354”看它在找哪个class ######你好,你的问题解决了没呢?我也是报这个错误,断点进去和你一样的错,发现是jdbcUrl 的值为null,怎么处理呢 ?###### 数据库连接信息要放在数据库连接池之前 ######<property name="driverClassName">com.mysql.jdbc.Driver</property> <property name="url"> jdbc:mysql://127.0.0.1:3306/lian?autoReconnect=true&useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull&useSSL=false </property> <property name="username">root</property> <property name="password">root</property> 需要配置你的数据连接信息
kun坤 2020-06-12 22:09:15 0 浏览量 回答数 0

回答

请贴出完整的异常堆栈######已补异常信息###### 对此不熟,貌似xml中的属性名写错了。driverClass? ######回复 @ldl-1023 : 大部分时间都是用jfinal。ssh很少用了。######你用的都是spring或其他方式###### "Druid是根据url前缀来识别DriverClass的,这样使得配置更方便简洁。" 结合JdbcUtils的代码 https://github.com/alibaba/druid/blob/master/src/main/java/com/alibaba/druid/util/JdbcUtils.java 来看, 应该是没有读到hibernate的配置信息才导致的. 可以往这个方向排查看看. 如果还是解决不了, 最好提供一下你的项目目录结构, 以及hibernate的配置文件相关的目录. ######没有 oracle-jdbc的jar包?###### 引用来自“JacarriChan”的评论没有 oracle-jdbc的jar包? 如果引入了,看是不是重复了。 如果没有重复,建议你断点到“JdbcUtils.java:354”看它在找哪个class ######你好,你的问题解决了没呢?我也是报这个错误,断点进去和你一样的错,发现是jdbcUrl 的值为null,怎么处理呢 ?###### 数据库连接信息要放在数据库连接池之前 ######<property name="driverClassName">com.mysql.jdbc.Driver</property> <property name="url"> jdbc:mysql://127.0.0.1:3306/lian?autoReconnect=true&useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull&useSSL=false </property> <property name="username">root</property> <property name="password">root</property> 需要配置你的数据连接信息
kun坤 2020-05-31 19:00:33 0 浏览量 回答数 0
阿里云企业服务平台 陈四清的老板信息查询 上海奇点人才服务相关的云产品 爱迪商标注册信息 安徽华轩堂药业的公司信息查询 小程序定制 上海微企信息技术相关的云产品 国内短信套餐包 ECS云服务器安全配置相关的云产品 天籁阁商标注册信息 开发者问答 阿里云建站 自然场景识别相关的云产品 万网 小程序开发制作 视频内容分析 视频集锦 代理记账服务 北京芙蓉天下的公司信息查询