自定义异常时exception is never thrown in the corresponding try block和unhandled exception
自己的异常:
public class UserNotExistsException extends Exception{private static final long serialVersionUID = 1L;public UserNotExistsException(){super("user.not.exists", null);}
}
调用:
@Overridepublic User selectUserByLoginName(String userName,String password) {if (StringUtils.isEmpty(userName) || StringUtils.isEmpty(password)){//校验空//信息写入到用户操作日志中// AsyncManager.me().execute(AsyncFactory.recordLogininfor(username, Constants.LOGIN_FAIL, MessageUtils.message("not.null")));throw new UserNotExistsException();}if(userMapper.selectUserByLoginName(userName,password)==null){throw new UserPasswordNotMatchException();}return userMapper.selectUserByLoginName(userName,password);}
另一处调用service的地方:
User user = null;
try {user = userService.selectUserByLoginName(username, password);
}catch (UserNotExistsException e){throw new UnknownAccountException(e.getMessage(),e);}...
全局处理:
@ExceptionHandler(UserNotExistsException.class)@ResponseBodypublic ResponseResult handUserException(){return ResponseResult.error(ResponseEnum.USERNAME_OR_PASSWORD_ERROR,ResponseEnum.USERNAME_OR_PASSWORD_ERROR.getDesc());}
解决:应该改成extends RuntimeException
注意, RuntimeException是Exception的子类,与IOEXCEPTION同级,java将派生于 RuntimeException的所有异常称为未检查异常,所有其他的异常为已检查异常, RuntimeException这个名字容易让人混淆,实际上现在讨论的所有错误都发生在运行时
java.lang.Throwable 1.0
·Throwable()构造一个新的Throwable对象,这个对象没有详细的描述信息。
·Throwable(String message) 构造一个新的throwable对象,这个对象带有特定的详细描述信息。习惯上,所有派生的异常类都支持一个默认的构造器和一个带有详细描述信息的构造器。
·String getMessage() 获得Throwable对象的详细描述信息。
自定义异常时exception is never thrown in the corresponding try block和unhandled exception相关推荐
- java异常在哪一层捕获_当在一个方法的代码中抛出一个检测异常时,该异常或被方法中的 ( )结构 捕获,或者在方法的 ( ) 中声明_学小易找答案...
[填空题]当异常已经被定义时,必须通过( ) 语句来处理它. [填空题]Catch 子句包含( )的程序段 [单选题]下列java语言的常用异常类中,属于检测异常的是() [单选题]自定义异常类时,可 ...
- Java报异常时getMessage()方法返回null
Java报异常时getMessage()方法返回null 参考文章: (1)Java报异常时getMessage()方法返回null (2)https://www.cnblogs.com/runnin ...
- Connection id “0HMGNTPDIIA4M“.Request id “0HMGNTPDIIA4M:00000001“:An unhandled exception was thrown
在生产环境的日志中经常看到一个error信息,具体内容如下,虽然不影响系统的使用,但是大量的出现,还是决定要解决掉它. Connection id "0HMGNTPDIIA4M". ...
- ASP.net创建Controller视图时报错(Exception has been thrown by the target of an Invocation.)
在新增一个Controller之后,创建对应的View时,报错信息如下: There was an error running the selected code generator:Exceptio ...
- xx.exe 中的 0x014180bd 处有未经处理的异常: 0xC0000005: 读取位置 0xfeeefeee 时发生访问冲突(当指针访问异常时,应考虑是不是对象未创建)。
xx.exe 中的 0x014180bd 处有未经处理的异常: 0xC0000005: 读取位置 0xfeeefeee 时发生访问冲突(当指针访问异常时,应考虑是不是对象未创建). 参考文章: (1) ...
- kubernetes 源码分析之节点异常时 pod 驱逐过程
概述 在 Kubernetes 集群中,当节点由于某些原因(网络.宕机等)不能正常工作时会被认定为不可用状态(Unknown 或者 False 状态),当时间超过了 pod-eviction-time ...
- 出现“调用的目标发生了异常”“Exception has been thrown by the target of an invocation”的解决办法
出现"调用的目标发生了异常""Exception has been thrown by the target of an invocation"的解决办法 解决 ...
- api laravel 统一返回方法_Laravel API 错误处理:当异常时,如何返回消息
image 基于 API 的项目开发越来越受欢迎,并且使用 Laravel 就能很容易实现.但是在针对如何处理各种异常的话题很少被提及.所以 API 的使用者们经常会抱怨除了收到 Server err ...
- python如何获取文件的行号_Python当我捕获异常时,如何获取类型,文件和行号?...
捕获一个将按如下方式打印的异常: Traceback (most recent call last): File"c:/tmp.py", line 1, in 4 / 0 Zero ...
最新文章
- java模拟网银登录_用java编写模拟网上银行登录及存取款业务
- 1.MySQL与MongoDB的操作对比,以及区别
- 面试问Kafka,这一篇全搞定
- C# 发送消息SendKeys、SendMessage、keybd_event的用法
- 小程序mpvue图片绘制水印_开发笔记:使用 mpvue 开发斗图小程序
- 如何用好 Chrome devtools
- javascript 请求web service
- MySQL绿色版安装(mysql-5.7.12-win32)
- 银行对公业务结构图梳理
- Java动态生成excel模板、和动态模板数据导出
- 线性代数及其应用(第三版)1.3节习题解答
- 几个新的H5标签介绍
- KGB成功破解特朗普的秘密消息
- 【裸眼3D图】自制图1
- 一天一阔阔儿ZYNQ的linux移植完整版(Linux环境搭建以及内核编译)
- 愚人节老板发话了,免费送书 + 免费入驻Java知识星球!!
- 企业抖音号怎么运营矩阵?运营有何技巧?
- MA1 轻轻松松学统计分析(下)
- 一台服务器,启动多个redis
- InputStream的read方法
热门文章
- 英文 电气与计算机工程学报,ei来源刊分为哪三大类?如何区别compendex和ei page one的文章?...
- python区块链开发_10个开源的Python区块链项目
- 2 了解MyBatis配置文件
- 统计消息总数_和公牛一战,库里创三个记录,耀眼的还是三分球总数
- linux7主机名设置,centos7主机名、网络设置
- 博途中用的是c吗_配置太低玩不了赛博朋克?学会用这个电脑、手机都能轻松玩2077...
- python数据读取失败无法启动应用_tensorflow初学者教程-读取数据集失败
- python面对对象汉诺塔_如何使用python实现的汉诺塔的小程序
- 无锡锡东2021高考成绩查询,2021年无锡高考成绩查询网址,无锡高考成绩查询系统时间安排...
- android动态添加xml布局,android – 如何动态添加视图已经在xml布局中声明的RelativeLayout?...