首页 > 代码库 > 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基础异常捕获处理
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。