【问题标题】:A basic question about throwing Exceptions [duplicate]关于抛出异常的基本问题[重复]
【发布时间】:2019-11-14 14:20:35
【问题描述】:

在 Java 中,我有一个方法 'exampleMethod' 调用 'foo' foo 在某些情况下会抛出异常。我是否相信 exampleMethod 不需要 try, catch 块来调用 foo 并且异常会立即被抛出到任何调用“exampleMethod”的地方,并且在抛出异常的方法序列的情况下它会一直返回,直到找到一个 try,catch 块来处理它,或者它找到一个不抛出它的方法并使程序崩溃?

    exampleMethod(String message) throws ExampleException {
        foo(message);
    }

    public foo(String message) throws ExampleException{
        if(message == null){
           throw new ExampleException();}
    }

【问题讨论】:

  • 它是任务的一部分,很难模拟抛出异常的情况。但就作业而言,这并不是它所基于的重要部分。
  • 如果ExampleException 扩展自RuntimeException,你甚至不需要throws 子句。也就是说,您可以随时编写示例代码并测试编译器是否在抱怨。

标签: java exception try-catch throw


【解决方案1】:

是的,你是对的。 exampleMethod 在调用 foo 时不需要 try-catch 块,而是将异常抛出给任何调用它的对象。您也是正确的,可以继续抛出异常,直到它到达 try-catch 或使程序崩溃。

【讨论】:

    猜你喜欢
    • 2011-01-22
    • 2016-06-02
    • 2021-06-15
    • 2017-10-04
    • 1970-01-01
    • 2011-02-22
    • 1970-01-01
    • 2013-03-07
    • 1970-01-01
    相关资源
    最近更新 更多