有没有办法获得一个例外号码来更好地控制发生的事情?
例如:
try
{ Do some work
}
catch(Exception e)
{ if(e.**ExceptionNumber** == Value)
Toast("Show message");
else
Toast("Error doing some work: " + e.toString());
}
答案 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();
}
您也可以定义自己的异常类型,就像上面提到的那样,您可以根据发生的异常类型抛出显示不同的消息。