当前位置: 首页 > 知识库问答 >
问题:

如何定义Java函数来接受函数

柳和怡
2023-03-14

我对所有方法都有一个异常处理的要求,假设我有一个项目,并且在项目内,抛出了StaleStateException,我需要处理它,我想这样做:

class Util() {
    public static void handle(XXXX method) {
        try{
            //invoke method
        } catch(StaleStateException e) {
            //do something
        }
    }
}

我如何实现这个方法?

共有1个答案

长孙泉
2023-03-14

下面是另一种方法:

public class Methods {
  public static void someMethodToPass(String s){
    System.out.println("Invoked, Here is the argument: " + s);
  }

  public static void invokerMethod(Method m) throws InvocationTargetException, IllegalAccessException {
    m.invoke(null,"Some argument");
  }

  public static void main(String[] args) {
    try {
        invokerMethod(Arrays.stream(Methods.class.getMethods()).filter(m -> m.getName().equals("someMethodToPass")).findFirst().get());
    } catch (InvocationTargetException | IllegalAccessException e) {
        e.printStackTrace();
    }
  }
}
 类似资料:
  • 在 Python 中,定义函数使用 def 语句。一个函数主要由三部分构成: 函数名 函数参数 函数返回值 让我们看一个简单的例子: def hello(name): return name >>> r = hello('ethan') >>> r 'ethan' 在上面,我们定义了一个函数。函数名是 hello;函数有一个参数,参数名是 name;函数有一个返回值,name。 我们也可以

  • 我有一个带有输入元素的React DatePicker组件。为了处理onChange事件,我定义了onChangeHandler函数。但是,当我想要定义作为onChangeHandler中的参数传递的所有函数的类型时,我得到以下错误: 类型为“”的参数(值:字符串)= 当我将函数定义为“any”时,这个错误就消失了,但是我们当然不希望代码中有任何错误:)。 下面是我的设置。我的主应用程序中有一个名

  • 问题内容: 我有这样的功能: 如何定义的,而不打字了他们中的每一个?当然,我宁愿传递一个参数,但是出于我的目的,这是不可能的。 问题答案: 您是否要在源文件中静态地单独定义它们?那么最好的选择是编写一个脚本来生成它们。 另一方面,如果您希望在运行时使用这些功能,则可以使用更高阶的功能。例如 您可以生成这些列表并再次在运行时进行存储。

  • 简介 在前面的章节中,我已经讲解了: 如何安装MIT-Scheme; Scheme解释器是如何对S-表达式求值; 基本的表操作; 在本章中,我会讲解如何自定义函数。由于Sheme是函数式编程语言,你需要通过编写小型函数来构造程序。因此,明白如何构造并组合这些函数对掌握Scheme尤为关键。在前端定义函数非常不便,因此我们通常需要在文本编辑器中编辑好代码,并在解释器中加载它们。 如何定义简单函数并加

  • 在Python中,定义一个函数要使用def语句,依次写出函数名、括号、括号中的参数和冒号:,然后,在缩进块中编写函数体,函数的返回值用return语句返回。 我们以自定义一个求绝对值的my_abs函数为例: def my_abs(x): if x >= 0: return x else: return -x 请自行测试并调用my_abs看看返回结果

  • 在Python中,定义一个函数要使用def语句,依次写出函数名、括号、括号中的参数和冒号:,然后,在缩进块中编写函数体,函数的返回值用return语句返回。 我们以自定义一个求绝对值的my_abs函数为例: # -*- coding: utf-8 -*- ---- def my_abs(x): if x >= 0: return x else: re