コードでtry-catchブロックを使用するたびに、コードは常にパターンに従います。 最初にリソースを開くためのtry-catchブロックと、それに続くヌルチェックと、最後にtry-catchブロックを使用してリソースを読み取ります。 これは厄介なパターンですか?もしそうなら、良いデザインはどのように見えますか?ここで悪いtryキャッチブロックデザイン?
は私が
public static void main(String[] args) {
Process process = null;
try {
process = Runtime.getRuntime().exec("C:\\program.exe");
} catch (IOException e) {
e.printStackTrace();
}
if (process == null) {
return;
}
try (BufferedReader reader = new BufferedReader(new InputStreamReader(process.getInputStream()))) {
String line;
while ((line = reader.readLine()) != null) {
System.out.println(line);
}
} catch (IOException e) {
e.printStackTrace();
}
}
私はメソッドを介してreturn文ミッドウェイが好きではありません。 – BevynQ
@BevynQはまったく別の議論です。http://stackoverflow.com/questions/4838828/why-should-a-function-have-only-one-exit-point –
プロセスの作成中に例外が発生した場合は、 catchブロックから、後で 'process'でnullをチェックする理由は? –