2012-01-31 64 views
36

どういうわけかこのエラーを無視できますか?私はそれが(コメントが重複し、ひどく振る舞うとき)コメントするよりも、実行したくないコードの前にreturnを入れるほうがはるかに簡単です...「到達不能なステートメント」エラーを無視する方法はありますか?

+3

なぜ!なぜ?あなたの仲間のプログラマーがあなたを憎むコードを書いていますか? – Nishant

+3

@Nishant:デバッグの目的で 'if(2> 1)return;'を使うことがよくあります。 –

+3

@Nishantそれはデバッグのためのものであり、私はそれらを直接操作しない限り、コードの塊を横に並べることはありません。 –

答えて

68

いいえ、コンパイル時エラーです。だからあなたはクラスを実行する前にそれを取り除く必要があります。

私が通常行っていることは、それの前に偽のif声明を入れています。次のようなものがあります。

if(true) 
    return; 
// unwanted code follows. no errors. 
i++; 
j++; 

このコードでは、Unreachable statementエラーは発生しません。そして、あなたはあなたが望むものを手に入れます。

+18

1 == 1が常に真であるため、 'if(1 == 1)'を 'if(true)'に置き換えることができます。 –

-7

あなたはunreachable codeことを修正する必要があります。

public void display(){ 
    return; //move the return statement to appropriate place 
    int i; 
} 

コンパイラは、ソースコードをコンパイルされません。 すべての行がコンパイラに到達可能であることをソースコードの世話をする必要があります。

1

あなたは、コードの有効/無効、特定の作品を何度もしたい場合は、古いCからのトリックはあなたを助けることがあります。

some_code(); 
more_code(); 
// */ 

/* 
some_code(); 
more_code(); 
// */ 

今、あなたは初め

2
33. if (1==1) return; 
34. System.out.println("Hello world!"); 

/*を書くためにだけ必要があるそれは動作します他の言語でも。しかし行34のないバイトコード。

関連する問題