java基础异常捕获处理
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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基础异常捕获处理的主要内容,如果未能解决你的问题,请参考以下文章