1、建立exception包,编写TestException.java程序,主方法中有以下代码,确定其中可能出现的异常,进行捕获处理。
public class YiChang { public static void main(String[] args){ for(int i=0;i<4;i++){ int k; switch(i){ case 0: int zero=0; try{ 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: int c[]=new int[2]; try{ k=c[9]; }catch(ArrayIndexOutOfBoundsException e){ System.out.println("出现数组序号溢出!"); } break; case 3: try{ char ch="abc".charAt(99); }catch(StringIndexOutOfBoundsException 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)时会抛出自定义异常。
public class InsufficientFundsException extends Exception { public String getMessage(){ return "您的余额不足!"; } } public class NagativeFundsException extends Exception{ public String getMessage(){ return "取款金额不能为负数!"; } } public class Bank { private static double balance; Bank(){ }; Bank(double balance){ this.balance=balance; } public static 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){ Bank b=new Bank(100); System.out.println("我有"+balance+"元存款!"); try{ withDrawal(150); }catch(InsufficientFundsException | NagativeFundsException e){ e.printStackTrace(); } try{ withDrawal(-15); }catch(NagativeFundsException |InsufficientFundsException e){ e.printStackTrace(); } } }
一道关于一道关于java异常处理的题目就给大家介绍这么多,希望对大家有所帮助,如果大家有任何疑问欢迎给我留言,小编会及时回复大家的,在此也非常感谢大家对呐喊教程网站的支持!
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:notice#nhooo.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。