异常处理
常见的异常
- 算数异常
- 没有给对象开辟内存空间时会出现空指针异常
- 找不到文件异常
异常处理由下面三个关键字:try,catch与finally组成的程序块构成;
格式如下:
try{
要检查的程序语句
}catch(){
异常发生时的处理语句
}finally{
一定会运行到的程序代码
}
package com.gao;
public class Test_0 {
public static void main(String[] args) {
try{
int list[] = new int[5];
list[10] = 13;
}catch(ArrayIndexOutOfBoundsException e){
System.out.println("错误:超出数组范围!!"+e);
}finally{
System.out.println("这个一定被调用!!");
}
}
}
抛出异常
抛出异常的方法:
- 程序中抛出异常
- 指定方法抛出异常
在程序中抛出异常:
class Division{
private int a;
private int b;
public void setA(int a) {
this.a = a;
}
public void setB(int b) {
this.b = b;
}
public int Division(){
try {
if (this.a == 0){
throw new ArithmeticException("一个算数异常");
}
else{
return this.a/this.b;
}
}catch(ArithmeticException e){
System.out.println("抛出异常为:"+e);
}
return 0;
}
}
测试:编写一个异常处理:当被除数为0时,抛出被除数不能是0;
class Division{
private int a;
private int b;
public void setA(int a) {
this.a = a;
}
public void setB(int b) {
this.b = b;
}
public int Division(){
try {
if (this.a == 0){
throw new ArithmeticException("被除数不能为0");
}
else{
return this.a/this.b;
}
}catch(ArithmeticException e){
System.out.println("抛出异常为:"+e);
}
return 0;
}
}