博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
servlet的service方法吞异常问题
阅读量:5793 次
发布时间:2019-06-18

本文共 582 字,大约阅读时间需要 1 分钟。

hot3.png

今天发现一个问题,编写代码向Servlet发送请求,接收响应报文,发出去之后"报服务器返回500"异常,然而从后台日志中没有发现异常记录.然后用浏览器发请求,发现日志中出现了异常记录.

思来想去,不知道怎么回事,之前也遇见过几个此种问题,但是都绕过去了,回头看代码,发现是IDE的问题.

之前的Servlet中的service方法在声明的时候都不会声明抛出异常,然而,如果用eclipse 的快捷键选择重写service方法的话,默认的会声明service方法抛出ServletException和IOException .所以如果代码中有可能抛出此两种异常的地方,就会直接从service方法中抛出了,所以在此类地方IDE不会提示有可能产生异常,自然就没有写catch异常和记录日志的逻辑.

解决的办法就是在声明service方法的时候去掉throws ServletException和,IOException

这算是个经验吧.

今天又想到,类似空指针异常的运行时异常.如果没有在可能产生此异常的地方写catch Exception,那么发生空指针异常的时候,异常也会被吞掉,不出现在日志里.这个问题比上边说的更加严重.所以在使用一些对象之前判断是否为空很重要.

转载于:https://my.oschina.net/u/1475616/blog/315672

你可能感兴趣的文章
JS中的Math.pow(a,b)方法
查看>>
Lua 模块与包
查看>>
精读《手写 SQL 编译器 - 词法分析》
查看>>
MySQL基本操作之---建库,建表,删库,删表
查看>>
想将算法进一步开发吗?手把手教你搭建基于CNN模型的Flask Web应用
查看>>
百度网盘下载限速破解-Mac版
查看>>
前端面试题总结
查看>>
aerospike 集群搭建
查看>>
Laravel 服务提供者指南
查看>>
自定义注解打jar包上传到maven私服
查看>>
2018年3月,以太坊的扩展现状|EthCC精选:Plasma Cash、Minimum Viable Plasma和更多……...
查看>>
PHP扩展开发教程6 - 扩展函数的参数类型(2)
查看>>
GraphQL 渐进学习 01-GraphQL-快速上手
查看>>
js--DOM事件绑定
查看>>
关于Unity 2018的实体组件系统(通用名称ECS)
查看>>
Python爬虫入门教程 8-100 蜂鸟网图片爬取之三
查看>>
Macaca 极简教程
查看>>
Git用法初探
查看>>
Java 分支结构 - if…else/switch
查看>>
深入浅出Java内存模型这篇给你解决
查看>>