finally 반드시 실행합니다 (실례 코드)
2438 단어 finally반드시 집행할 것이다
class Exc{
int a;
int b;
}
public class Except {
@SuppressWarnings("finally")
static int compute (){
Exc e = new Exc();
e.a = 10;
e.b = 10;
int res = 0 ;
try{
res = e.a / e.b;
System.out.println("try ……");
return res + 1;
}catch(NullPointerException e1){
System.out.println("NullPointerException occured");
}catch(ArithmeticException e1){
System.out.println("ArithmeticException occured");
}catch(Exception e3){
System.out.println("Exception occured");
}finally{
System.out.println("finnaly occured");
}
System.out.println(res);
return res+3;
}
public static void main(String[] args){
int b = compute();
System.out.println("mian b= "+b);
}
}
출력:
try ……
finnaly occured
mian b= 2
결론: 이상이 없으면try의 코드 블록을try의return까지 실행하고, 이어finally의 코드 블록을finally가 실행된 후try로 돌아가서return을 실행합니다.함수를 종료합니다.
class Exc{
int a;
int b;
}
public class Except {
@SuppressWarnings("finally")
static int compute (){
Exc e = new Exc();
// e.a = 10;
// e.b = 10;
int res = 0 ;
try{
res = e.a / e.b;
System.out.println("try ……");
return res + 1;
}catch(NullPointerException e1){
System.out.println("NullPointerException occured");
}catch(ArithmeticException e1){
System.out.println("ArithmeticException occured");
}catch(Exception e3){
System.out.println("Exception occured");
}finally{
System.out.println("finnaly occured");
}
System.out.println(res);
return res+3;
}
public static void main(String[] args){
int b = compute();
System.out.println("mian b= "+b);
}
}
출력:
ArithmeticException occured
finnaly occured
0
mian b= 3
결론:try에 이상이 있으면, 이상 문장에서catch가 포획한 이상 코드 블록으로 이동하여catch를 실행한 후,finally를 실행하고,try{}catch{}finally{}를 뛰고, 계속 아래로 실행하고try의 뒤에 있는 문장을 실행하지 않습니다.이상의 이finally는 반드시 실행할 것입니다(실례 코드)는 바로 여러분이 공유한 모든 내용입니다. 여러분께 참고가 되고 저희를 많이 사랑해 주시기 바랍니다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
finally 반드시 실행합니다 (실례 코드)다음과 같습니다. 출력: 결론: 이상이 없으면try의 코드 블록을try의return까지 실행하고, 이어finally의 코드 블록을finally가 실행된 후try로 돌아가서return을 실행합니다.함수를 종료합니다. ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.