2014-06-25 79 views
3

我有一个类,它构造并返回基于某些条件的对象,类中的每个方法抛出相同的异常,我想减少次数,我必须重复相同的:所有类的方法抛出相同的例外

public Foo getFoo() throws FileNotFoundException, IOException { ... } 

有没有办法来声明每个类的方法抛出相同的一组例外?

+1

使用所有例外的母亲。 “Exception” –

+1

如果你真的*觉得写这些'throws'子句的努力太多了,你的班级有太多的方法。 – Raedwald

+0

如果您想编写DRY代码,请尽量不要使用Java。 – djechlin

回答

5

没有没有办法来声明特定类的所有方法都将引发相同的一组异常(如JDK 1.8u5的)

-3

那么有没有超出微软现成的解决方案。您可以在应用程序级别处理异常,但不能在课堂级别处理。

但是,仍然有各种方法可以做到一切。例如带有自定义属性,您可以创建自定义属性自己

http://msdn.microsoft.com/en-us/library/sw480ze8.aspx

如果您不希望创建自定义属性自己有一个现有的库都来帮你叫PostSharp,你可以使用配置属性的方法/类

[Serializable] 
    public class GeneralExceptionAttribute : OnExceptionAspect 
    { 

     public override void OnException(MethodExecutionArgs args) 
     { 
      Console.WriteLine(args.Exception.Message); 
     } 
    } 

那么你也可以将属性应用于整个类,像这样:

 [GeneralException] 
    public class YourClass 
    { 
      // ... 
      public string DoSomething(int param) { 
       // ... 
      } 

    } 
+3

这个问题是关于** Java ** –

相关问题