异常概述
一、什么是异常, java提供异常处理机制有什么用?
程序执行过程中发生不正常的情况,而这种不正常的情况叫做:异常
java语言是很完善的语言,提供了异常的处理方式,以下程序执行过程中出现了不正常情况,java把该异常信息打印输出到控制台,供程序员参考。程序员看到异常信息之后,可以对程序进行修改,让程序更加的健壮。
1、异常在java中以类的形式存在,每一个异常类都可以创建异常对象。
2、异常对应的现实生活中是怎样的?
火灾(异常类) :
2008年8月8日,小明家着火了(异常对象) .
2008年8月9日,小刚家着火了(异常对象)
2008年9月8日,小红家着火了(异常对象) .
类是:模板。
对象是:实际存在的个体。
钱包丢了(异常类) :
2008年1月8日,小明的钱包丢了(异常对象)
2008年19日,小芳的钱包丢了(异常对象)
常见异常
public class ExceptionTest07 {
public static void main(String[] args) {
//java.lang.NullPointerException 空指针异常
/*String s = null;
System.out.println(s.length());*/
//java.lang.ClassCastException 类转换异常
/*Object o = "hahahha";
int a = (int)o;*/
//java.lang.ArrayIndexOutOfBoundsException 数组下标越界异常
/*int [] a = new int[6];
a[6]=6;*/
//java.lang.NumberFormatException 数字格式化异常
System.out.println(new Integer("ab"));
//java.lang.ArithmeticException: / by zero 算数异常
System.out.println(10/0);
}
}
异常处理
二、Java语言中对异常的处理包括两种方式:
第一种方式:在方法声明的位置上,使用throws关键字,抛给上一级。谁调用我,我就抛给谁。抛给上一级。
第二种方式:使用try…catch语句进行异常的捕捉。这件事发生了,谁也不知道,因为我给抓住了。
举个例子:
我是某集团的一个销售员,因为我的失误,导致公司损失了1000元,"损失1000元"这可以看做是
一个异常发生了。我有两种处理方式。
第一种方式:我把这件事告诉我的领导【异常上抛】
第二种方式:我自己掏腰包把这个钱补上。【异常的捕捉】
注意:
只要异常没有捕捉,采用上报的方式,此方法的后续代码不会执行。另外需要注意, try语句块中的某-行出现异常,该行后面的代码不会执行。try…catch捕捉异常之后,后续代码可以执行。
public class ExceptionTest02 {
public static void main(String[] args) {
int a= 1;
int b= 0;
try {
int c =a/b;
System.out.println("555");
}catch (ArithmeticException e){
System.out.println("除数不能为0");
}
}
}