首页 > 代码库 > java基础异常捕获处理

java基础异常捕获处理

1.建立exception包,编写TestException.java程序,主方法中有以下代码,确定其中可能出现的异常,进行捕获处理。

for(inti=0;i<4;i++){

int  k;

switch(i){

case 0:

int zero=0;

k=911/zero;

break;

case1:

int  b[]=null;

k = b[0];

break;

case2:

int c[]=new int[2];

 

k=c[9];

break;

case3:

char  ch="abc".charAt(99);

 

break;

}

}

public class TestException {    public static void main(String[] args) {        // TODO 自动生成的方法存根        for(int i=0;i<4;i++){            int  k;                            switch(i){                case 0:                int zero=0;                try{                k=911/zero;}                catch(Exception e)                {                    System.out.println("捕获了异常"+e.getMessage());                }                break;                        case 1:        int  b[]=null;    try{                k = b[0];        }    catch(Exception e)    {        System.out.println("捕获了异常"+e.getStackTrace());    }            break;                case 2:        int c[]=new int[2];        try{            k=c[9];                    }        catch(Exception e)        {            System.out.println("捕获了异常,我还能运行!");        }        break;                case 3:                    try{                            char ch="abc".charAt(99);                        }                    catch(Exception e)                    {                        System.out.println("终于抓完了,我快要到休息的时间啦");                    }        break;            }        }            }}

技术分享

2.建立exception包,建立Bank类,类中有变量double  balance表示存款,Bank类的构造方法能增加存款,Bank类中有取款的方法withDrawal(double dAmount),当取款的数额大于存款时,抛出InsufficientFundsException,取款数额为负数,抛出NagativeFundsException,如new Bank(100),表示存入银行100元,当用方法withdrawal(150),withdrawal(-15)时会抛出自定义异常。

//InsufficientFundsException j继承Exception异常根父类public class InsufficientFundsException extends Exception {    InsufficientFundsException(String a)    {            }}
// NagativeFundsException继承Exception异常根父类public class NagativeFundsException extends Exception {    NagativeFundsException(String n)    {            }}
public class Bank {    private double balance;    public double getBalance() {        return balance;    }    public void setBalance(double balance) {        this.balance = balance;    }    public Bank(double money)    {        balance+=money;            }    //声明抛出的异常    public void withDrawal(double dAmount) throws InsufficientFundsException,NagativeFundsException    {        if(dAmount > balance)        {    //抛出自定义异常            throw new InsufficientFundsException("取款余额不足");        }                //抛出自定义异常        else if(dAmount <0)        {            throw new NagativeFundsException("取款余额为负数啦");        }        }}    
    public static void main(String[] args) throws InsufficientFundsException, NagativeFundsException {        // TODO 自动生成的方法存根            Bank b = new Bank(100.0);            b.withDrawal(150);            b.withDrawal(-15);    }}

技术分享

技术分享

 

java基础异常捕获处理