java中用2种方法处理异常
1.在发生异常的地方直接处理
2.将异常抛给调用者,让调用者处理
分类
1.检查性异常:jav.lang.Exception
2.运行期异常:java.lang.RuntimeException
3.错误:java.lang.Error
顶层都是java.lang.Throwable类
package com.genericityandabnormity;
import java.io.*;
import java.net.*;
public class Demo_3 {
public static void main(String[] args) {
// TODO Auto-generated method stub
//检查异常1.打开一个不存在的文件
FileReader fr=null;
try {
fr=new FileReader("D:\\aa.txt");
//在出现异常的地方就终止执行代码
//然后进入catch语句
//如果有多个catch,进入对应的catch语句;
System.out.println("go on");
Socket s=new Socket("192.1680.1.88",78);
} catch (Exception e) {
//把异常信息输出
//e.printStackTrace();
System.out.println(e.getMessage());
// TODO: handle exception
}finally {
//这段代码不管有没有异常,都会执行,
//一般来说,把需要关闭的资源(文件,链接,内存)关闭
System.out.println("进入finally");
if(fr!=null)
{
try {
fr.close();
} catch (Exception e2) {
// TODO: handle exception
}
}
}
System.out.println("go on2");
//1检查异常2.链接一个端口:192.168.12.12 IP的端口号4567
//Socket s=new Socket("192.168.1.1",78);
//2运行期异常:
// int a=4/0;
// int[] arr= {1,2,3,4};
//
// System.out.println(arr[233]);
//错误;
}
}