异常

2021.03.01
第31次记录

**代码演示1:**

```java
public class ExceptionText06 {
public static void main(String[] args) {
/*
try不能单独使用,但是try...finally可以联合使用
以下代码执行顺序:try--->finally--->return
return是最后执行的
注意:System.exit(0);即退出JVM,finally语句不会执行,只此一条!
*/
try {
System.out.println("try...");
return;
}finally {
System.out.println("finally");
}
//这里不能写语句,因为这个代码是无法执行到的
//System.out.println("H");
}
}
```
输出结果:
try...
finally

**代码演示2:**

```java
public class ExceptionText07 {
public static void main(String[] args) {
int result = m();
System.out.println(result); //100
}
/*
java中有一些语法规则是亘古不变的:
方法体中的代码必须遵循自上而下的顺序逐行执行;
return语句一旦执行,整个方法必须结束;
将class文件反编译:
public static int m(){
int i = 100;
int j = i;
i++;
return j;
}
*/
public static int m(){
int i = 100;
try{
//这行代码出现在int i = 100下面,所以最终结果必须返回100
//return语句还必须保证是最后执行的,一旦执行,整个方法结束。
return i;
}finally {
i++;
}
}
}
```

输出结果:
100

**代码演示3:**

```java
/*
final,finally,finalize之间有什么区别?
final关键字
final修饰的类无法继承
final修饰的方法无法覆盖
final修饰的变量不能重新赋值
finally关键字
和try联合使用
finally语句块中的代码是一定会执行的
finalize标识符
是一个Object类中的方法名
这个方法是由垃圾回收器GC负责调用的。
*/
public class ExceptionText08 {
public static void main(String[] args) {
//final是一个关键字。表示最终的,不变的
final int i = 100;
//finally也是一个关键字,和try联合使用,使用在异常处理机制中
//在finally语句块中的代码是一定会执行的
try{

}finally{
System.out.println("finally...");
}
//finalize()是Object类中的一个方法。作为方法名出现
//所以finalize是标识符
}
}
```

输出结果:
finally...

posted @ 2021-03-01 21:18  オウチテキ  阅读(32)  评论(0)    收藏  举报