例外号码和字符串

时间:2013-02-09 09:08:15

标签: android exception

有没有办法获得一个例外号码来更好地控制发生的事情?

例如:

    try
    { Do some work
    }
    catch(Exception e)
    {  if(e.**ExceptionNumber** == Value)
          Toast("Show message");
       else
          Toast("Error doing some work: " + e.toString());        
    }

2 个答案:

答案 0 :(得分:2)

如果您想以不同方式处理它们,请抓住不同的例外情况。

try{

}catch(IOException e1){
  //-- if io error--
}catch(FormatException e2){
  //--if format error--
}catch(Exception e3){
  //--any thing else --
}

大多数Java API异常没有特殊整数,它们有类型,消息和原因。

但是,您也可以创建自己的异常类型:

public class MyIntegerException extends Exception{
  private int num;

  public int getInteger(){
    return num;
  }

  public MyIntegerException(int n, String msg){
    super(msg);
    this.num = n;
  }
}

扔:

throw new MyIntegerException(1024,"This is a 1024 error");

捕获:

catch(MyIntegerException e){
  int num = e.getInteger();
  //--do something with integer--
}

答案 1 :(得分:0)

如果您知道可能出现的问题,可以抛出自己的异常并将自定义文本添加到其中:

try{
  //code to execute
  //in case of an error
  throw new Exception("Your message here");
}
catch (Exception e){
e.printStackTrace();
}

您也可以定义自己的异常类型,就像上面提到的那样,您可以根据发生的异常类型抛出显示不同的消息。