java - 在线程中的 Catch 中抛出

标签 java multithreading exception try-catch throw

我的问题是我无法使内部 catch 抛出异常。 这里我希望 ex 被扔到外层捕获处。

Runnable(){

public void run(){
try{
    try{
       }catch(Exception ex){
        System.out.println("Inner");
        throw ex; //I get an error here
    }
}catch(Exception e){
    System.out.println("Outer");
}}

错误消息:必须捕获未报告的异常,并声明抛出

最佳答案

将 block 放入函数中......

private void myFunction() throws Exception {

    try{
       }catch(Exception ex){
        System.out.println("Inner");
        throw ex; //I get an error here
    }
}

然后从代码块中调用它

Runnable(){

public void run(){
    try{
        myFunction();
    }catch(Exception e){
    System.out.println("Outer");
}}

关于java - 在线程中的 Catch 中抛出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18784834/

相关文章:

java - Spring Boot Kafka中多个消费者如何监听多个主题?

java - 连接升级至WebSocket

java - java中静态对象的返回值是线程安全的吗

java - GSON 一个 Java Throwable

c++ - 如何在非托管 C++ 中捕获托管异常(来自委托(delegate))?

mongodb - 在 Spark 中连接到 mongodb 时出现异常

java - 在java中设置构造函数和一些对象

multithreading - Kafka 高级消费者 : Can partitions have multiple threads consuming it?

c++ - 如何在双向套接字连接上序列化类似 telnet 的通信?

c# - 多线程列表模式建议