1
我處理我的管道結果代碼如下所示(一些剪斷,爲了簡潔起見):獲得管道結果的正確方法是什麼?
PipelineResult result = pipeline.run();
switch (result.getState()) {
case DONE: {
handleDone();
break;
}
case FAILED: {
handleFailed();
break;
}
case CANCELLED: {
handleCancelled();
break;
}
case UNKNOWN:
case RUNNING:
case STOPPED: {
handleUnknownRunningStopped();
break;
}
default: {
assert false;
throw new IllegalStateException();
}
}
然而,我注意到,而不是爲例如返回枚舉PipelineResult.State
的價值FAILED
或CANCELLED
,拋出一個異常:
- 對於失敗的作業,一個
DataflowJobExecutionException
拋出 - 對於取消的作業,一個
DataflowJobCancelledException
拋出
什麼是正確的方式(編程)處理管道的結果?