关于Java异常处理的学习代码

//MultiNest.java

class MultiNest{
 static void procedure(){
  try{
   int c[] = { 1 };
   c[42] = 99;
  }catch(ArrayIndexOutOfBoundsException e){
   System.out.println("array index oob: " + e);
  }
 }
 
 public static void main(String args[]){
  try{
   int a = args.length;
   System.out.println("a = " + a);
   int b = 42/a;
   procedure();
  }catch(ArithmeticException e){
   System.out.println("div by 0: " + e);
  }
 }
}

//ThrowDemo.java

class ThrowDemo{
 static void demoproc(){
  try{
   throw new NullPointerException("de3mo");
  }catch(NullPointerException e){
   System.out.println("caught inside demoproc");
   throw e;
  }
 }
 
 public static void main(String args[]){
  try{
   demoproc();

//ThrowDemo1.java

class ThrowsDemo1{
 static void procedure() throws IllegalAccessException{
  System.out.println("inside procedure");
  throw new IllegalAccessException("demo");
 }
 
 public static void main(String args[]){
  try{
   procedure( );
  }catch(IllegalAccessException e){
   System.out.println("Caught" + e);
  }
 }
}

  }catch(NullPointerException e){
   System.out.println("recaught: " + e);
  }
 }
}

//FinallyDemo.java

class FinallyDemo{
 static void procA(){
  try{
   System.out.println("inside procA");
   throw new RuntimeException("demo");
  }finally{
   System.out.println("procA's finally");
  }
 }
 
 static void procB(){
  try{
   System.out.println("inside procB");
   return;
  }finally{
   System.out.println("procB's finally");
  }
 }

 public static void main(String args[]){
  try{
   procA();
  }catch(Exception e){
   procB();
  }
 }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值