宝可梦异常状态捕捉 为什么捕获多种类型的异常时不能对异常变量重新赋值?

为什么捕获多种类型的异常时不能对异常变量重新赋值?对于异常来说的话,我们只是写了一个功能捕获这个异常,让我们在程序运行出错的时候,查看具体的问题发生在了哪里,但是这些异常是我们也不知道到底怎么形成的,

为什么捕获多种类型的异常时不能对异常变量重新赋值?

对于异常来说的话,我们只是写了一个功能捕获这个异常,让我们在程序运行出错的时候,查看具体的问题发生在了哪里,但是这些异常是我们也不知道到底怎么形成的,所以就没有办法对这些异常进行重新复制,我们只有补货,然后分析之后再修改代码。

在JAVA中捕获异常后throw自定义异常是不优雅的吗?

No,实际上,在很多框架中都采用了这种方式

1.ReThrow

自定义异常,用来更好地进行异常隔离,标识异常的类型,ID,自定义消息等,用于LOG等

2.对第三方库的异常进行包装,抽象化,保持与你的框架异常定义一致性,便于你框架对不同异常的处理

3.restful Api,统一异常管理