该如何做异常处理

该如何做异常处理
首先要清楚什么是运行时异常和非运行时异常

运行时异常(RuntimeExceptions)

想象你在玩一款游戏,游戏中有各种规则。如果某个玩家违反了这些规则,游戏就会自动中断,提示这个玩家犯了错。这种情况下,游戏会弹出一个错误提示,告诉你哪里做错了,然后让你重新开始或改正错误。

在编程里,“运行时异常”就像是游戏里的这些规则。如果你写的代码违反了某些基本规则,比如访问了一个不存在的位置、尝试把一个字符串当成数字使用等,程序就会在运行时(即当你真正玩游戏的时候)中断,并告诉你哪里出了问题。

特点:

  • 不需要特别设置,只要程序一出错,就会直接报错。
  • 大部分是程序员写代码时不小心造成的错误。
  • 比如:访问数组时超出了它的范围、使用了空的对象等。

非运行时异常(受检异常)

再想象一下,你在玩一个需要联网的游戏。有时候,你的网络连接不上,或者服务器有问题,这时候游戏也会中断,但这是游戏设计之外的事情。为了不让玩家措手不及,游戏会在开始前检查网络连接是否正常,或者在玩家操作之前给出提示。

在编程中,“非运行时异常”就像这种情况。它们通常是因为外部的一些不可控因素导致的,比如读取文件时文件不存在、网络连接失败等。对于这类问题,我们需要提前做好准备,告诉程序如果遇到这种情况该怎么办。

特点:

  • 必须在编写代码时就考虑到如何处理这些异常。
  • 通常不是代码本身的问题,而是外部条件不符合要求。
  • 比如:读取文件时找不到文件、数据库连接失败等。

再说具体的,我目前的单位要求异常处理要在service层
于是我现在的异常处理基本都是

 

Exception e 可以覆盖两种异常,事务的问题也可以粗暴的只加一个@Transactional 就不用过于考虑了
踩得坑:
一些自定义的异常类使用前要看看是什么类型比如已经有了Exception e 再写一个trycatch runtimeException的就画蛇添足了

posted @ 2024-09-05 09:09  稳健国国王  阅读(9)  评论(0编辑  收藏  举报