我们先自定义个运行时异常
package redis.clients.jedis.exceptions;
public class JedisException extends RuntimeException {
private static final long serialVersionUID = -2946266495682282677L;
public JedisException(String message) {
super(message);
}
public JedisException(Throwable e) {
super(e);
}
public JedisException(String message, Throwable cause) {
super(message, cause);
}
}
package redis.clients.jedis.exceptions;
public class JedisConnectionException extends JedisException {
private static final long serialVersionUID = 3878126572474819403L;
public JedisConnectionException(String message) {
super(message);
}
public JedisConnectionException(Throwable cause) {
super(cause);
}
public JedisConnectionException(String message, Throwable cause) {
super(message, cause);
}
}
运行时异常不要求强制抛出
public T getResource() {
try {
return internalPool.borrowObject();
} catch (Exception e) {
throw new JedisConnectionException("Could not get a resource from the pool", e);
}
}
即下面的几种写法是正确的:
public void tst() {
try {
...
return;
} catch (Exception e) {
throw new RuntimeException();
}
}
public void tst2() throws Exception {
try {
...
return;
} catch (Exception e) {
throw new Exception();
}
}
public void tst3(){
try {
...
return;
} catch (Exception e) {
throw e;
}
}