title: Delegate 'System.Func<int,int,string>' does not take 1 arguments
body: <p>I saw some solutions on stackoverflow for similar issues but looks like each problem is unique.</p>
  
  <p>I am trying to implement global try/catch instead of writing try/catch on each and every method but I am stuck with this error. It's working fine for one argument and not working for methods taking more than one argument.</p>
  
  <pre><code>class Program
      {
          static void Main(string[] args)
          {  
              int i = 5;
              int j = 10;
              string s1 = GlobalTryCatch(x =&gt; square(i), i);
              string s2 = GlobalTryCatch(x =&gt; Sum(i,j), i, j); // error here..
  
              Console.Read();
          }
  
          private static string square(int i)
          {
              Console.WriteLine(i * i);
              return "1";
          }
  
          private static string Sum(int i, int j)
          {
              Console.WriteLine(i+j);
              return "1";
          }
  
          private static string GlobalTryCatch&lt;T1&gt;(Func&lt;T1, string&gt; action, T1 i)
          {
              try
              {
                  action.Invoke(i);
                  return "success";
              }
              catch (Exception e)
              {
                  return "failure";
              }
          }
  
          private static string GlobalTryCatch&lt;T1, T2&gt;(Func&lt;T1, T2, string&gt; action, T1 i, T2 j)
          {
              try
              {
                  action.Invoke(i, j);
                  return "success";
              }
              catch (Exception e)
              {
                  return "failure";
              }
          }
      }   
  </code></pre>