在java multi-catch中,每个multi-catch字符都是最终字符,但I';I’我拿不到

在java multi-catch中,每个multi-catch字符都是最终字符,但I';I’我拿不到,java,exception,Java,Exception,正如我们所知,multi-catch参数是隐式final的,因此我如何能够在catch块中链接异常。Afinal引用意味着您无法为其分配新值。它不会阻止对象被更新 例如: class Main { public static void main(String args[]) { try{ throw new ArrayIndexOutOfBoundsException("yyyoyo"); } catch(

正如我们所知,multi-catch参数是隐式final的,因此我如何能够在catch块中链接异常。

A
final
引用意味着您无法为其分配新值。它不会阻止对象被更新

例如:

class Main
{
    public static void main(String args[]) 
    {
        try{
            throw new ArrayIndexOutOfBoundsException("yyyoyo");
        }
        catch(ArrayIndexOutOfBoundsException |ArithmeticException e)
        {
            e.initCause(new Exception());
        }
    }
}
输出:

class MyClass {
    String string;

    public MyClass(String string) {
        super();
        this.string = string;
    }

    public String getString() {
        return string;
    }

    public void setString(String string) {
        this.string = string;
    }

    @Override
    public String toString() {
        return "MyClass [string=" + string + "]";
    }

}

public class Main {
    public static void main(String[] args) {
        final MyClass obj = new MyClass("Test");
        System.out.println(obj);
        obj.setString("Testing");
        System.out.println(obj);

        // obj= new MyClass("Testing"); // Trying to assign a new value to obj will result in a compilation error
    }
}

@NathanHughes我明白你说的,但是你能给我一个例子,那里会有一个错误,我需要一个对应于所述代码的例子,在这里我会打破最终变量定律,得到一个与之相关的错误。
MyClass [string=Test]
MyClass [string=Testing]