java异常处理01_异常概述

1.异常的引入

现实生活中万物在发展和变化会出现各种各样不正常的现象。

例如:人的成长过程中会生病。

实际工作中,遇到的情况不可能是非常完美的。比如:你写的某个模块,用户输入不一定符合你的要求、你的程序要打开某个文件,这个文件可能不存在或者文件格式不对,你要读取数据库的数据,数据可能是空的等。我们的程序再跑着,内存或硬盘可能满了等等。

软件程序在运行过程中,非常可能遇到刚刚提到的这些异常问题,我们叫异常,英文是:Exception,意思是例外。这些,例外情况,或者叫异常,怎么让我们写的程序做出合理的处理,安全的退出,而不至于程序崩溃。

需求:根据索引获取数组中的元素值,我们需要考虑各种异常情况,伪代码如下:

【示例】根据索引获取数组中的元素值(仅限示意,不能运行)

public static int getValue(int[] arr, int index) {
	// 索引为负数的时候
	if(index < 0) {
		System.out.println("索引不能为负数!!");
		return ???; // 此处该返回什么呢?
	}	
	// 索引大于等于数组长度的时候
	if(index >= arr.length) {
		System.out.println("索引不能大于等于数组长度!!");
		return ???; // 此处该返回什么呢?
	}
	// 正常返回元素值
	return arr[index];
}

这种方式,有好几个坏处:

  1. 逻辑代码和错误处理代码放一起!

  2. 程序员本身需要考虑的例外情况较复杂,对程序员本身要求较高!

  3. 可能无论怎么处理,都不能满足开发需求!!!

那么我们还如何应对以上的异常情况呢?其实JAVA给我们提供了处理异常的机制,就是当程序出现错误,程序安全退出的机制。

2.异常的概念

实际开发中,异常从面向对象的角度考虑也是一类事物,我们可以向上抽取为异常类。这个异常类可以对一些不正常的现象进行描述,并封装为对象。

我们开始看我们的第一个异常对象,并分析一下异常机制是如何工作的。

【示例】异常的分析案例

public class ExceptionTest {
	public static void main(String[] args) {
		test();
	}
	public static void test() {
		int x = 3 / 0;
		System.out.println("x:" + x);
	}
}

在这里插入图片描述
java是采用面向对象的方式来处理异常的。当程序出现问题时,就会创建异常类对象并抛出异常相关的信息(如异常出现的位置、原因等)。

ps:如需最新的免费文档资料和教学视频,请添加QQ群(627407545)领取。f

发布了92 篇原创文章 · 获赞 0 · 访问量 2626

猜你喜欢

转载自blog.csdn.net/zhoujunfeng121/article/details/104662052