我在使用 Java 中的 Lombok 库时发现了一个名为 @SneakyThrows 的注释。正如文档所述:
@SneakyThrows 伪造了编译器。换句话说,Lombok 不会包装或替换抛出的已检查异常,而是让编译器认为它是未检查异常。
换句话说,这是一种在编译时绕过异常的方法。但在我看来,这不应该是处理异常的正确方法,因为绕过的异常会在运行时表现出奇怪的行为。
那么在哪种情况下应该使用@SneakyThrows?
java exception lombok checked-exceptions intellij-lombok-plugin
正如我的老师告诉我的那样,数组声明不能接受地址作为赋值.
int a[]={1,2};
int b[2]=a;
Run Code Online (Sandbox Code Playgroud)
这显示错误为初始化程序无效.但我正在玩这样的东西,并发现了如下的奇怪的例子.
int a[][3] = {1, 2, 3, 4, 5, 6};
int (*ptr)[3] = a;
Run Code Online (Sandbox Code Playgroud)
这也是一个数组的声明,其地址与ptr指针一起保存,并且接受2维数组a的地址,但这显示没有错误.为什么,有人可以用简单的语言解释我吗?提前致谢.