【问题标题】:About Methods And Try, Catch Handler in Java关于Java中的Methods and Try、Catch Handler
【发布时间】:2021-02-18 17:25:22
【问题描述】:

所以,在 Java 中我不明白什么是异常 e?在 catch 语句中 e 代表什么?

  Thank You For correcting my statement!

【问题讨论】:

  • Exception e 是一个变量声明。一个是类型Exception,第二个是变量名e。与String myStringint someInt 没有什么不同
  • Exception 是类型,e 是变量的名称,就像任何其他函数一样:void foo(Double x)。您可以使用名称访问变量。说这是评论,因为我不太明白你的最后一句话
  • catch 不是一种方法,它是一个语句。它是内部方法的代码。它允许您指定一个参数,该参数是捕获的异常。参数的类型必须是Throwable 的子类。该类型还指定了 catch 块将用于哪些异常。
  • Exception e 就是它所说的,当您尝试执行的操作发生异常时,运行该块。例如。如果抛出运行时错误,抓住它,让程序优雅地退出,而不是崩溃而没有机会恢复它。
  • (Exception e) 只是一个建议。您可以将 e 重命名为任何名称:(Exception error)

标签: java try-catch


【解决方案1】:

这是catch块中推荐的sintax,Exception是异常的类,“e”是保存异常对象实例的变量。

在某些情况下,您会看到一个方法有多个 catch 块,以便可以管理不同的异常,在这些情况下,“e”会有所不同:

catch (FileNotFoundException fnfe) {
 // code to manage file not found exception
}
catch (IOException ioe) {
  // code to manage the I/O exception
}
catch (Exception e) {
  // code to manage generic exception
}

请记住,catch 块的顺序很重要,它是从上到下的,所以如果有 FileNotFoundException,其余的将不会被捕获,因为它更具体。

更多关于这一点,捕获异常时尽可能具体被认为是一种好习惯,您可以在本文中看到更多提示:

https://dzone.com/articles/9-best-practices-to-handle-exceptions-in-java

异常捕获是 Java 世界中的一个长期争论 :-)

【讨论】:

    猜你喜欢
    • 2016-02-19
    • 2011-01-24
    • 2022-12-27
    • 1970-01-01
    • 2012-04-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多