`
大_圣
  • 浏览: 17106 次
  • 性别: Icon_minigender_1
  • 来自: 湖南
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

异常处理机制

阅读更多

1.异常(Throwable):程序在执行过程中,因为程序员的疏忽或者是外在环境的因素,可能使得程序在执行时产生错误,造成计算结果的不正确.异常又分为:Error和Exception,Error通常是一些很严重,灾难性的错误,如内存不足等等.而Exception中又含有了许多异常,如Runtime Expection等等.而这些异常大部分在编程的时候是可以预防的.

 

 

2.捕捉和处理异常:

  1). try...catch

       try就是"尝试"的去执行某些程序代码,当这些程序代码中有异常的时候,把异常给"捕捉"(catch)下来,因此我们可以把可能会产生异常的代码写在try的语句块中.要捕捉什么样的异常,就使用catch把它捕捉下来.通常其格式为:

    try {


     }  catch (Exception ef) {
	           ef.printStackTrace();
	       }

  2). throws关键字

       当异常产生的时候,我们可以不必马上去处理它,可以将异常抛出,而这个异常将会抛给调用这个可能会产生异常的方法的方法,一直这样抛出,直到抛给主函数,之后主函数又会抛给java虚拟机.

public static void main(String args[]) throws Exception{

		String path = "D:\\a.txt";
		String path1 = "D:\\aa.txt";

		FileTest ft = new FileTest();

		// 读取数据
		String str = ft.readFile(path);
		System.out.println(str);

		// 将数据写到文件
		ft.writeFile(path1, str);

	}

public void writeFile(String path, String content) throws Exception{

		// 创建一个文件输出流,如果文件不存在,会自动创建一个文件
		java.io.FileOutputStream fos = new java.io.FileOutputStream(path);

		// 将字符串转成字节数组
		byte[] bs = content.getBytes();
		// 遍历数组,取出字节,写到流中
		for (int i = 0; i < bs.length; i++) {
			// 写出字节
			fos.write(bs[i]);

		}

		// 强制输出
		fos.flush();
		// 关闭流
		fos.close();

	}

 

 

  3).自定义异常

      我们在设计自己的类的时候,有时候也需要产生异常,用来规范用户的一些操作.

/**
 * 异常机制
 * @author Administrator
 *
 */
public class ExceptionTest {
	
	public static void main(String args[]) throws Exception{
		
		ExceptionTest et = new ExceptionTest();
		
		et.change(120);//超出了自定义的数字的范围.产生异常
		
		
	}
	
	
	
	/**
	 * 自定义异常:数字的范围必须在0~100
	 * @param num
	 * @throws Exception
	 */
	public void change(int num) throws Exception{
		
		if(num>=0&&num<=100){
			System.out.println("正确..");
		}else{
			//创建一个异常对象
			Exception ef = new Exception("传入的数据不符合要求!!");
			//抛出异常对象
			throw ef;
		}
		
			
	}

}

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics