繁体   English   中英

强制所有方法抛出异常

[英]Forcing all methods to throw Exception

我在给定的类中有很多方法,这些方法是从不同的类调用的。 理想情况下,每个方法都应该抛出异常,以便从主类处理它们。

如果没有完成,有没有办法强制所有方法抛出异常? 在下面的例子中,function2() 不会抛出异常。 我想做的是强迫它。

public void function1() throws Exception {
   // Some Actions
}

public void function2() {
   // Some Actions
}

如评论中所述,您仍然可以在不命名... method() throws Exception情况下抛出未经检查的... method() throws Exception

但是,如果要抛出已检查的异常,则必须实现一个接口:

interface Thrower {
    public void function1() throws Exception;
    public void function2() throws Exception;
}

class SomeClass implements Thrower {
    ...
}

虽然这不是最佳解决方案,但它是我想到的唯一解决方案。

不可能声明一个类的所有方法都必须抛出异常

理想情况下,每个方法都应该抛出异常,以便从主类处理它们

如果从主类处理,我认为最好使用RuntimeException或从RuntimeExeption扩展的异常,这样您就不必担心throw exception ,因为RuntimeException自动传播。

异常用于帮助您了解代码中存在问题的位置,但是,如果您抛出“ Throws”,则某种异常不会强制分析这些异常。

通常,在许多代码行中,最好使用“ Try&Cath”,因为这样就不必使用“ Throw”,并且可以正确地管理代码,效率更高。

public void function1 () {  // not need Throws
   
   try {
    // Some Actions 
   }catch (Exception e) {
   } 


public void function2 () {
    / / Some Actions 

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM