Java中是否存在等效的Python异常?

时间:2017-08-10 18:25:01

标签: java python exception-handling

我是Java的新手,我想知道Java是否有像Python异常处理这样的东西,你必须指定异常类型。类似的东西:

try:
    f = open('text.tx', 'r')
except:
    #Note you don't have to specify the exception
    print "There's an error here"

我希望你能帮助我。

3 个答案:

答案 0 :(得分:2)

Java中的每个异常都是java.lang.Exception的某种扩展。所以你总是这样做:

try {
   // something that maybe fails
} catch (Exception e) { 
   // do something with the exception
}

它会捕获任何其他类型的异常,您只是不知道实际异常是什么,而无需调试。

答案 1 :(得分:2)

是的,有一个叫做try和catch块的东西看起来像这样:

try
{
   //Code that may throw an exception
}catch(Exception e)
{
   //Code to be executed if the above exception is thrown
}

对于上面的代码,可以像这样检查:

try
{
    File f = new File("New.txt");
} catch(FileNotFoundException ex)
{
    ex.printStackTrace();
}

希望这有助于了解更多信息:https://docs.oracle.com/javase/tutorial/essential/exceptions/

答案 2 :(得分:2)

您不能忽略异常类型,但最广泛的try-catch块将是:

try {
    // Some code
} catch(Throwable t) {
    t.printStackTrace();
}

可以捕获ExceptionsErrors以及您可能希望投放的任何其他实现Throwable的类。

在任何地方使用它也是非常愚蠢的,特别是在文件访问这么简单的事情上。 IOException是一个经过检查的异常,因此无论何时进行文件操作,编译器都会提醒您处理该异常。没有必要全力以赴,只会让你的代码变得更脆弱。