当前位置: 首页 > ops >正文

Java throw exception时需要重点关注的事情!

引言

由于线上报错,排查错误时,发现抛出的是一个自定义异常,本来想根据自定义异常行数快速定位,结果发现这个异常定位行数根本就不是抛出异常的地方,到底是怎么回事呢。

场景复现

简单复现,我们就不实现自定义异常了,使用已经有的。
代码如下,可以猜测一下抛出的异常会是多少行,是20嘛,nonono
在这里插入图片描述

源码:

public static void main(String[] args) {String flag = "2";UnsupportedOperationException exception = new UnsupportedOperationException();if("1".equals(flag)){throw exception;}if("2".equals(flag)){throw exception;}if("3".equals(flag)){throw exception;}}

让我们看一下结果,没有错出乎意料吧,13行,不是throw的行数,是初始new exception的行数。

在这里插入图片描述

结论

由于可能多个判断条件下,需要抛出相同的自定义异常,并且自定义异常被我们套的层级及命名都显得过长等等原因。不经意间就想着先通过一个引入把exception先定义出来。后面对应位置在throw。

但是这种行为对自己编码友好了,但是对于排错的人!相当于没有任何提示。还是要一行一行代码看。

所以我们一定要throw的时候,重新new 相应的exception。报错行数就是我们new excetion的行数!!!!

http://www.xdnf.cn/news/17143.html

相关文章:

  • 项目中MySQL遇到的索引失效的问题
  • QT+opencv+yolov8推理
  • 基于RPR模型的机械臂手写器simulink建模与仿真
  • 优选算法1
  • YOLOv11改进:集成FocusedLinearAttention与C2PSA注意力机制实现性能提升
  • 机器学习 朴素贝叶斯
  • 怎么免费建立自己的网站步骤
  • 北京JAVA基础面试30天打卡03
  • 数据大集网:企业贷获客数据平台,精准对接助贷获客平台与企业贷获客渠道
  • InfluxDB 集群部署与高可用方案(二)
  • 批量打印Excel条形码
  • 在Word和WPS文字中如何输入汉字的偏旁部首
  • 大数据之HBase
  • 沉寂半年,Kimi归来!
  • java 桌面应用程序基本框架
  • 应急响应linux
  • DDoS 防护的未来趋势:AI 如何重塑安全行业?
  • 深入理解SpringMVC DispatcherServlet源码及全流程原理
  • Flink CDC如何保障数据的一致性?
  • 亚矩阵云手机:解锁 Shopee/Lazada 东南亚电商运营“通关密码
  • WordPress自定义.js文件排序实现方法
  • Unity里的对象旋转数值跳转问题的原理与解决方案
  • Spring Boot集成方案 + Elasticsearch向量检索,语义搜索核弹
  • Linux seLinux
  • AI大语言模型如何重塑软件开发与测试流程
  • 3D开发引擎HOOPS赋能AEC领域:可视化技术助力建筑数字化转型!
  • Promise
  • 【JS-7-ajax】AJAX技术:现代Web开发的异步通信核心
  • Python包管理新利器:uv全面解析与Conda对比指南
  • 一文读懂:什么是CLIP