1比如消息队列处理中,是需要方法抛出的官方异常来判断重试机制的。这时候就不能自定义异常或者捕获异常
2异常处理
在Java中,如果程序抛出异常并且没有被捕获,程序将终止执行。如果程序抛出异常并且被捕获,程序将继续执行。在try-catch语句中,如果try块中的代码抛出异常,则控制流将转移到catch块。如果catch块成功处理了异常,则程序将继续执行。否则,程序将终止执行。
葫芦娃你好我是皮卡丘
package org.example;
/**
* @Author: sijing.chen
* @Description: TODO
* @DateTime: $DATE$ $TIME$
* @Params: $params$
* @Return $return$
*/
public class Main {
public static void main(String[] args) {
//代码1
try {
throw new Exception("参数越界");
System.out.println("异常后");//编译直接不通过,后面的都不会执行
} catch (Exception e) {
e.printStackTrace();
}
//代码3
try {
throw new Exception("参数越界");
} catch (Exception e) {
e.printStackTrace();
}
System.out.println("异常后");//可以执行
// System.out.println("Hello world!");
}
}
Java中,可以使用getMessage()方法获取异常信息。getMessage()方法返回一个字符串,其中包含有关异常的详细信息。例如,如果您在try块中抛出了一个空指针异常,并在catch块中捕获了该异常,则可以使用getMessage()方法获取有关该异常的详细信息。以下是一个示例代码:
try {
// some code that may throw an exception
} catch (Exception e) {
System.out.println("An exception occurred: " + e.getMessage());
}
在上面的代码中,如果try块中的代码抛出了一个异常,catch块将捕获该异常,并使用getMessage()方法获取有关该异常的详细信息。然后,catch块将打印该信息。
4事务回滚
5注意
如果一个函数或者方法中同时出现finally和return,那么程序将会先执行finally语句执行完了之后再去执行return方法。就是要注意:如果finally中修改了函数或者方法内的变量的值,那么return的值就会发生变化