Androi开发从零开始之java-异常处理

package test;

import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
import java.net.Socket;
import java.net.UnknownHostException;

public class 异常处理 {

	/**
	 * 作者:钟志钢
	 * 功能:java异常及处理
	 * 时间:2013-1-27
	 * 1, 分类:(都 是java.lang.Throwable的子孙类)
	 * 		检查性异常(java.lang.Exceptoin --> java.lang.Throwable),出现时不能被编译
	 * 		运行时异常(java.lang.RuntimeException-->java.lang.Exception--> java.lang.Throwable),
	 * 		错误(java.lang.Error --> java.lang.Throwable),很少出现,bug,内在耗尽,由运行环境处理
	 * 2, 异常处理方法:捕获,抛出
	 */
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		//检查性异常
		//打开文件
		//FileReader fr = new FileReader("d:/aaa/my.txt");
		//连接到一个端口
		/**
		 * 关于IP
		 * 命令行中:ping www.baidu.com 会得到关于当前网址的一些信息
		 * 			tracert www.souhu.com 得到路由的一些相关信息
		 * 			route parint 列出路由信息
		 * 			netstat -an 本机的端口信息
		 */
		//Socket s = new Socket("192.168.1.23",78);
		
		//运行时异常:比如零被除,数组越界,入参不满足规范等
		//int a = 4/0;
//		int arr [] = new int[]{};
//		System.out.println(arr[0]);
		
		//异常处理:捕获与抛出
		//1,捕获:try...catch,捕获并在此中止程序,进入到catch
//		FileReader fr = null;
//		try {
//			fr = new FileReader("d:/aaa/my.txt");
//		} catch (FileNotFoundException e) {//最小捕获:只捕获FileNotFound异常
//			// 输入异常信息,利于排bug或者在此进行备用方案
//			e.printStackTrace();
//		}finally{
//			if(fr != null){
//				try {
//					fr.close();
//				} catch (IOException e) {
//					// TODO Auto-generated catch block
//					e.printStackTrace();
//				}
//			}
//		}
//		try {
//			Socket s = new Socket("192.1688.1.23",78);
//		} catch (Exception e) {//捕获所有异常
//			// TODO Auto-generated catch block
//			e.printStackTrace();
//		}//关于finally,万能保险,当出现异常,有没有对应的catch时,就会被执行
//			//也有不执行的情况:finally模块异常\线程死亡\关闭CPU\前面代码中调用了System.exit(0);
//		finally{
//			//通常用于关闭一些流,资源,链接内存
//		}
		//2,抛出.直接在方法的后面加入:throws Exception
		Father f = new Father();
		//f.testFather();
		
	}

}
class Father {
	private Son son ;
	public Father(){
		son = new Son();
	}
//	public void testFather(){
//		try {//Father调用Son的方法,所以帮其处理异常
//			son.testson();
//		} catch (Exception e) {
//			// TODO Auto-generated catch block
//			e.printStackTrace();
//		}
//	}
	public void testFather ()throws Exception{//它也可能 不处理,继续抛给其调用都,直到最后抛给虚拟机
		son.testson();
	}
}
class Son{
	public void testson ()throws Exception{
		Socket s = new Socket("192.1688.1.23",78);
	}
}


 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值