我有超过100种方法的java类,在每种方法中我都要设置try catch代码。在每个尝试代码中,我有不同的逻辑。如何在Java中开发通用代码?
我的示例代码:
public void method1(){
try {
int a = 2 +3 ;
} catch (Exception e) {
e.printStackTrace();
}
}
public void method2(){
try {
int a = 4 +3 ;
} catch (Exception e) {
e.printStackTrace();
}
}
public void method3(){
try {
int a = 2 +6 ;
} catch (Exception e) {
e.printStackTrace();
}
}
public void method4(){
try {
int a = 2 +9 ;
} catch (Exception e) {
e.printStackTrace();
}
}
有超过100种方法..并且在每种方法中使用try catch是忙乱的。
请告知我能做些什么。
===========================
我的消费者代码::
public class ConsumerCheckExceptionWrapper {
@SuppressWarnings("unchecked")
static <T extends Throwable> T hiddenThrowClause(Throwable t) throws T {
throw (T)t;
}
public static <T extends Throwable> Consumer<T> tryCatchBlock(ConsumerCheckException<T> consumr) throws T {
System.out.println("tryCatchBlock method");
return t -> {
try {
consumr.accept(t);
} catch (Throwable exc) {
ConsumerCheckExceptionWrapper.<RuntimeException> hiddenThrowClause(exc);
System.out.println("exc :: " + exc.getStackTrace());
}
};
}
}
@FunctionalInterface
public interface ConsumerCheckException<T>{
void accept(T elem) throws Exception; }
// -----------------
//在我的方法中调用:
ConsumerCheckExceptionWrapper.tryCatchBlock(err ->
mymethod(val1,val2));
答案 0 :(得分:1)
您可以在所有方法中添加throws声明,并捕获调用方法的异常。这将使事情变得更简单。像这样的东西
public class HelloWorld{
public static void main(String []args){
try{
//call methods here
}catch(Exception e){
e.printStackTrace();
}
}
public void method1() throws Exception{
int a = 4+3;
}
public void method2() throws Exception{
int a = 4 +3 ;
}
public void method3() throws Exception{
int a = 2 +6 ;
}
public void method4() throws Exception{
int a = 2 +9 ;
}
}