标签:并且 cep 开发者 div 输出 运行 错误 多个 java
在项目中遇到try...catch...语句,因为对Java异常处理机制的流程不是很清楚,导致对相关逻辑代码不理解。所以现在来总结Java异常处理机制的处理流程:
try {
逻辑程序块
} catch(ExceptionType1 e) {
处理代码块1
} catch (ExceptionType2 e) {
处理代码块2
throw(e); // 再抛出这个"异常"
}
注:如果有异常发生,只会进入到一个catch语句块中
Exception 可以以两种方式出现:
try {
// 可能发生异常的语句
} catch(ExceptionType e) {
// 处理异常语句
}
如果try语句块中发生了异常,那么程序就会把对应的异常对象抛出,然后catch语句就会捕获该异常并且处理。
注意:如在try语句块的第二句语句发生异常,那么在第二句以后的语句都不会执行了,转到catch语句块中开始执行。处理完catch语句块的内容,就会执行catch语句块之后的内容
如果try语句块中没有发生异常,那么try语句块中的内容会由上到下依次执行,然后catch语句块会全部被跳过,接下来执行catch语句块之后的内容。
public class ExceptionTest {
public static void main(String[] args) {
for (int i = 0; i < 3; i++) {
String message = "";
int a = 0;
try{
if (i == 1){
throw new Exception("错误");
}
message = "正确";
a= 123;
}catch (Exception e){
message = e.getMessage();
}
System.out.println( "i 等于" + i);
System.out.println(message );
System.out.println("a = " + a+ "\n");
}
}
}
输出结果分析:
当有i = 2时,用户主动抛出异常,可以看到为 message, a 的赋值语句没有执行, 进入到catch语句块中,然后再执行catch语句块以后的内容
message = "错误" a = 0
i 等于0 正确 a = 123 i 等于1 正确 a = 123 i 等于2 错误 a = 0
Java异常处理机制:try...catch...的执行流程
标签:并且 cep 开发者 div 输出 运行 错误 多个 java
原文地址:https://www.cnblogs.com/eathertan/p/12496804.html