Java语言异常处理学习笔记
2013-04-22 21:00
676 查看
学习过java的都知道异常处理的框架:
它的执行过程一般分为两条线:
1.try语句块中没有异常,则正常执行try语句块,catch和finally中的语句不被执行。
2.try语句中有异常,则执行到异常的那句代码后立马跳到catch语句块去匹配,匹配到对应的Exception之后进入到相应的语句块中去执行。
3.finally语句块中的代码通常总是会执行。
下面写几段很相似的代码:
public class TryCatch {
public static void main(String[] args) {
try{
int i = 1/0;
} catch(Exception e) {
System.out.println("exception");
} finally {
System.out.println("finally");
}
}
}
运行结果:
跟上面描述的一样,try中发现异常,先走catch,然后走finally
public class TryCatch {
public static void main(String[] args) {
try{
int i = 1/0;
System.exit(-1);
} catch(Exception e) {
System.out.println("exception");
} finally {
System.out.println("finally");
}
}
}
运行结果:
这说明异常发生时之后的代码是不会执行的,否则会出现下面的结果
public class TryCatch {
public static void main(String[] args) {
try{
int i = 1/1;
System.exit(-1);
} catch(Exception e) {
System.out.println("exception");
} finally {
System.out.println("finally");
}
}
}
运行结果:
如果try语句块中没有异常的话,代码中有退出程序的语句的话finally语句块不会被执行,直接退出程序
public class TryCatch {
public static void main(String[] args) {
try{
int i = 1/1;
} catch(Exception e) {
System.out.println("exception");
} finally {
System.out.println("finally");
}
}
}
运行结果:
try语句块中没有异常同时没有退出程序语句,则finally语句块依然要被执行
public class TryCatch {
public static void main(String[] args) {
try{
int i = 1/0;
} catch(Exception e) {
System.out.println("exception");
System.exit(-1);
} finally {
System.out.println("finally");
}
}
}
运行结果:
如果catch语句块中出现退出程序语句,则finally语句块不会被执行
综上,一个简单的异常处理机制也是有很多好玩的东西值得去探索的。
它的执行过程一般分为两条线:
1.try语句块中没有异常,则正常执行try语句块,catch和finally中的语句不被执行。
2.try语句中有异常,则执行到异常的那句代码后立马跳到catch语句块去匹配,匹配到对应的Exception之后进入到相应的语句块中去执行。
3.finally语句块中的代码通常总是会执行。
下面写几段很相似的代码:
public class TryCatch {
public static void main(String[] args) {
try{
int i = 1/0;
} catch(Exception e) {
System.out.println("exception");
} finally {
System.out.println("finally");
}
}
}
运行结果:
跟上面描述的一样,try中发现异常,先走catch,然后走finally
public class TryCatch {
public static void main(String[] args) {
try{
int i = 1/0;
System.exit(-1);
} catch(Exception e) {
System.out.println("exception");
} finally {
System.out.println("finally");
}
}
}
运行结果:
这说明异常发生时之后的代码是不会执行的,否则会出现下面的结果
public class TryCatch {
public static void main(String[] args) {
try{
int i = 1/1;
System.exit(-1);
} catch(Exception e) {
System.out.println("exception");
} finally {
System.out.println("finally");
}
}
}
运行结果:
如果try语句块中没有异常的话,代码中有退出程序的语句的话finally语句块不会被执行,直接退出程序
public class TryCatch {
public static void main(String[] args) {
try{
int i = 1/1;
} catch(Exception e) {
System.out.println("exception");
} finally {
System.out.println("finally");
}
}
}
运行结果:
try语句块中没有异常同时没有退出程序语句,则finally语句块依然要被执行
public class TryCatch {
public static void main(String[] args) {
try{
int i = 1/0;
} catch(Exception e) {
System.out.println("exception");
System.exit(-1);
} finally {
System.out.println("finally");
}
}
}
运行结果:
如果catch语句块中出现退出程序语句,则finally语句块不会被执行
综上,一个简单的异常处理机制也是有很多好玩的东西值得去探索的。
相关文章推荐
- java学习笔记----java异常处理
- java学习笔记12--异常处理
- Android(java)学习笔记82:我们到底该如何处理异常?
- 【学习笔记17】java面向对象-异常处理:捕获异常与抛出异常
- Java学习笔记之异常的定义和处理
- Java学习笔记---其他类特性与异常处理
- 黑马程序员——Java异常处理学习笔记
- 【安卓学习笔记】JAVA基础-异常的处理
- Java学习笔记之异常、处理异常、异常抛出、自定义异常、异常链
- java学习笔记12--异常处理
- Java SE学习笔记:Java的异常机制和异常的处理
- Java学习笔记——通过异常处理错误
- JAVA学习笔记之异常处理
- Java学习笔记 --- 异常处理 throws 和 throw区别与联系
- Java异常处理学习笔记
- JAVA学习笔记25——异常机制1:Exception简介+异常处理的try_catch_finally方法
- java异常处理的学习笔记
- java学习笔记7 - Spring mvc 统一异常处理和静态文件的配置
- Java基础学习笔记之异常处理
- Java Web 学习笔记之十一:RestEasy统一处理异常