我想知道如何处理map函数(在python 2.7下)中的0除错误。
不使用public static <T> Mono<T> normalize(Supplier<Mono<T>> supplier) {
try {
Mono<T> result = supplier.get();
return result != null ? result : Mono.empty();
} catch(Exception ex) {
return Mono.error(ex);
}
}
// Usage
Mono.just(...)
.then(...)
.then(normalize(() -> lib.call(...))
.map(...)
...
,我得到
map
但是使用def my_func(a, b):
return a / b
a = pandas.DataFrame([1, 1])
b = pandas.DataFrame([1, 0])
my_func(a, b)
Out[]:
0
0 1.000000
1 inf
时我得到了不同的结果:
map
如何处理此错误?
答案 0 :(得分:1)
您可以通过以下方式尝试:
def my_func(a, b):
if b != 0: return a / b
else: return np.inf
或通过以下方式捕获警告
import warnings
warnings.filterwarnings("error")
def my_func(a, b):
try:
return a / b
except:
return np.inf