java - 如何查看try块中catch的变化?
问题描述
我正在尝试创建一个 try 和 catch 语句,但是我遇到了范围问题,我在 catch 语句中所做的更改一旦我回来尝试就不会出现。有没有办法解决?我举个例子:
int num_fails = 0;
int num_tries = 0;
while(true) {
try {
num_tries++;
some_function();
if (num_tries > num_fails)
break;
}
catch(Exception e) {
num_fails++;
}
}
当异常发生时,if 语句中的 num_fails 保持为 0。
解决方案
catch
只要有异常,块就会执行,但是在您给出的示例中,除非some_function()
抛出异常,否则没有异常。如果不,
catch
块不会被执行。
因为,if 语句中的条件为真,while 循环将中断。
推荐阅读
- c# - CORS 对 dotnet core 3.1 中预检的响应问题
- apache-kafka - 依次处理kafka topic
- sql - 编写一个查询以确定所有 X1,X2 使得 X1 和 X2 具有不同的 D 值
- java - 重复数组中的元素两次
- javascript - Javascript,Geojson,Json
- java - 如何构建使用 java11 的 docker 镜像
- stargazer - 找不到函数“multinom”nnet 错误 + stargazer 问题
- scala - 如何使用模式字段选择数据框列
- python - FileNotFoundError: [Errno 2] 没有这样的文件或目录 (Python)
- pandas-groupby - 在 Dask 数据帧上分组,然后按一列排序