instanceof是Java的一个二元操作符,和==,>,<是同一类东东。由于它是由字母组成的,所以也是Java的保留关键字。它的作用是测试它左边的对象是否是它
右边的类的实例,返回boolean类型的数据。
instanceof 例子地址:http://rodney.cnblogs.com/archive/2005/08/18/instanceof.html
instanceof 捕获自定义异常:
/*** 业务级异常
*/
public class BusinessException extends Exception{
private String errMsg;
private int errCode;
public String getErrMsg() {
return errMsg;
}
public void setErrMsg(String errMsg) {
this.errMsg = errMsg;
}
public int getErrCode() {
return errCode;
}
public void setErrCode(int errCode) {
this.errCode = errCode;
}
public BusinessException() {}
public BusinessException(String errMsg) {
this.errMsg = errMsg;
this.errCode = ErrCode.USER_OP_ERROR;
}
public BusinessException(String errMsg, int errCode) {
this.errMsg = errMsg;
this.errCode = errCode;
}
}
//异常代码类
public class ErrCode {
public static final int USER_OP_ERROR = 1001;
public static final int DB_ERROR = 8001;
}
//测试类
import org.junit.Test;
public class Test {
public void test1() {throw new BusinessException("我是自定义异常!");
}
@Test
public void test2() {
try {
this.test1();
}catch (Exception e) {
if(e instanceof BusinessException){
System.out.println(e.getMessage());
}else{
System.out.println("我不是自定义异常!");
}
}
}
}