异常处理原理
在异常处理中,当抛出一个异常时,Java总将试图找到一个与该异常比配的catch语句,如果找不到的话,则沿着调用栈向下传播该异常。同时要注意,当代码中有多个catch语句时,那么必须将最具体的异常处理程序放在最前面,而普通的异常放在后面。如果它们循序相反,该程序不能编译。
finally语句块总是在try之后的某点执行,一般用来完成关闭文件,释放网络套接字以及清理其他工作。
package com.ufgov.pd.fiscal.test;
import java.io.IOException;
import java.net.Socket;
import java.net.UnknownHostException;
/**
* 模板
*
* @author yangwf
* @date 2022-11-13 21:47
*/
public class ErrorRun {
public static void main(String[] args) {
kk();
}
public static void kk(){
try{
new Socket("localhost",9999);
} catch (UnknownHostException e) {
System.out.println("1");
} catch (NumberFormatException e) {
System.out.println("2");
} catch (IOException E){
System.out.println("3");
} finally {
System.out.println("4");
}
}
}
执行结果
3
4