建立更可靠的开发方法——基于官方API文档的学习尝试之异常处理

专科学习中,老师不曾教授过如何阅读官方开发文档,即便曾经带小组做Cobol项目的debug,无非是阅读日本开发人员编纂的开发文档。

阅读官方文档完全摸不到头脑,而且语言关不是问题,但仍旧花的时间较长,主要是打消挫败感的时间较长——4天升了Blizzard《风暴英雄》15级,英雄雷诺升到8级。

玩一个新的游戏也要读文档——理解英雄特长,在不同地图内,根据对面不同对手,参照技能设计升级技能点。

玩好一个游戏也很麻烦。

既然都很麻烦,那就干点正事。

新版本的Java Platform document是这界面

旧的使用习惯是,左边找导航条或者索引,右边显示内容。这一版本是,想看什么,在右边直接点击内容。

健壮的程序务必要做异常处理。不可能有出版商会把所有异常细节写成书,因为不现实——这是现成的。

由此可见,java的Error,Exception是有层级的。

主体是Throwable,

分支为Error和Exception

Exception还有分支Runtime Exception。这个级别的异常处理看起来柔和的多,编译时即可发现并被解决。

入了门,写了几个例子,语法上没什么高深,但是很麻烦,考验细致程度和责任心。

import java.io.*;

public class TestError {
	
	void m(int i) throws ArithmeticException {
		if (i == 0)
			throw new ArithmeticException("被除数为0");
	}
	
	public static void main(String[] args) {
		int[] arr = {1,2,3};
		try{
			System.out.println(arr[4]);
		}catch (ArrayIndexOutOfBoundsException ee){
			System.out.println("contact with your administrator");
			ee.printStackTrace();
		}
		
		//TestError te = new TestError();
	        //te.m(0);
		
		try{
			new TestError().m(0);
		}catch (ArithmeticException al){
			al.printStackTrace();
			System.out.println("出错了");
		}
		
		
		FileInputStream in = null;
		try{
			in = new FileInputStream("myfile.txt");
			int b;
			b = in.read();
			while (b != -1){
				System.out.print((char) b);
				b = in.read();
			}
		} catch (FileNotFoundException ex) {
			ex.printStackTrace();
		} catch (IOException ex){
			System.out.println(ex.getMessage());
		}finally {
			try{
			in.close();
		} catch (IOException ex){
			ex.printStackTrace();
		}
	    }
	}
}

5个关键字,try配catch,若有多个catch,要接finally。抛出异常用throw和thows。


getMessage()打印出错信息;

printStackTrace()打印栈信息——第几行调用的,报错源,出错信息等等

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值