当前位置: 首页 > 面试题库 >

如何捕获通过读写文件而引发的所有异常?

郜光明
2023-03-14
问题内容

在Java中,有什么方法可以全部获取(捕获)exceptions而不是单独捕获异常?


问题答案:

如果需要,可以将throws子句添加到方法中。然后,您不必立即捕获已检查的方法。这样一来,您可以赶上exceptions后面的内容(也许与other同时exceptions)。

代码如下:

public void someMethode() throws SomeCheckedException {

    //  code

}

然后,exceptions如果不想使用该方法处理它们,则可以处理。

为了捕获所有异常,您可能会抛出一些代码块:(这也会捕获Exceptions您自己编写的代码)

try {

    // exceptional block of code ...

    // ...

} catch (Exception e){

    // Deal with e as you please.
    //e may be any type of exception at all.

}

起作用的原因是因为它Exception是所有异常的基类。因此,可能引发的任何异常都是Exception(大写的“ E”)。

如果要处理自己的异常,只需catch在通用异常之前添加一个块。

try{    
}catch(MyOwnException me){
}catch(Exception e){
}


 类似资料:
  • 我目前在我的路由中使用dotry/doCatch块,因此我无法使用全局onException块。 然而,如果驼峰路由中断(由于错误代码或意外/未测试的场景),我希望执行一些业务逻辑。希望这永远不会发生,但我仍然想处理更糟糕的情况。 我不能在全局OneException块中有java.lang.Exception,而且,我不想在每个路由上都添加一个额外的捕获。 在抛出未捕获的异常和中断路由之前,是否

  • 问题 怎样捕获代码中的所有异常? 解决方案 想要捕获所有的异常,可以直接捕获 Exception 即可: try: ... except Exception as e: ... log('Reason:', e) # Important! 这个将会捕获除了 SystemExit 、 KeyboardInterrupt 和 GeneratorExit 之外的所有异常。

  • 所以我使用了DataInputStream、FileInputStream、BufferInputStream、FileReader、BufferedReader、Scanner。它们都抛出FileNOtFoundException或CorruptedStreamException。

  • 我有一个具有GUI和套接字通信的不小的多线程应用程序。在开发过程中,我发现有时有些异常没有被捕获和记录。如果有,我必须盯着控制台看。 有没有办法在一个地方捕获来自不同线程(包括EDT)的未捕获异常,比如在main()中,并记录它们?我确实在main()中放置了一个try catch来捕捉可丢弃的对象,但它不起作用。 编辑: 更具体地说,我有遗嘱执行人。newCachedThreadPool(),具

  • 问题内容: 我正在学习Go,并且正在通过GoTours 学习此课程。到目前为止,这就是我所拥有的。 如您所见,我尝试通过打印输出到通道中的值来测试Walk函数。但是,出现以下错误。 我认为应该会出现此错误,因为我从不使用该通道。但是,有没有一种方法可以“捕获”此死锁错误并以编程方式对其进行处理? 问题答案: 死锁类似于nil指针引用,它表示程序中的一个BUG。因此,此类错误通常无法恢复。 如lbo

  • 所需的功能是用于任何未捕获的、向上传播到服务层之外的抛出,以导致回滚。我有点惊讶这不是默认行为,但在谷歌尝试了一下后: 这似乎起作用,除非异常被故意吞下而不被重新抛出。(特定的情况是找不到实体。我想这可以重新设计为不抛出异常,但预计不可避免地会有其他异常-例如,在使用