首页 > 代码库 > Java-异常处理练习
Java-异常处理练习
1.建立exception包,编写TestException.java程序,主方法中有以下代码,确定其中可能出现的异常,进行捕获处理。
package Yichang;public class Text { public static void main(String[] args) { for(int i=0;i<4;i++){ int k; switch(i){ case 0: try{ int zero=0; k=911/zero; } catch(ArithmeticException e){ System.out.println("输入有误"); } break; case 1: try{ int b[]=null; k = b[0]; }catch(NullPointerException e) { System.out.println("空指针异常"); } break; case 2: try{ int c[]=new int[2]; k=c[9]; }catch(ArrayIndexOutOfBoundsException e) { System.out.println("索引超出异常"); } break; case 3: try{ char ch="abc".charAt(99); }catch(Exception e) { e.printStackTrace(); System.out.println("收取字符超出"); } break; } } }}
结果:
2.建立exception包,建立Bank类,类中有变量double balance表示存款,Bank类的构造方法能增加存款,Bank类中有取款的发方法withDrawal(double dAmount),当取款的数额大于存款时,抛出InsufficientFundsException,取款数额为负数,抛出NagativeFundsException,如new Bank(100),表示存入银行100元,当用方法withdrawal(150),withdrawal(-15)时会抛出自定义异常。
package Yichang;public class InsufficientFundsException extends Exception { public String getMessage() { return "余额不足"; }}
package Yichang;public class NagativeFundsException extends Exception { public String getMessage() { return "取款不能为负数"; }}
package Yichang;public class Test01 { private double balance; public Test01(double balance) { super(); this.balance = balance; } public void withDrawal(double dAmount)throws InsufficientFundsException,NagativeFundsException { if(dAmount>balance) { throw new InsufficientFundsException(); } if(dAmount<0) { throw new NagativeFundsException(); } } public static void main(String[] args){ Test01 t=new Test01(100); try{ t.withDrawal(150); }catch(Exception e){ e.printStackTrace(); } try{ t.withDrawal(-10); }catch(Exception e){ e.printStackTrace(); } }}
结果:
Java-异常处理练习
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。