2012-01-31 56 views
36

Có thể bằng cách nào đó bỏ qua lỗi này không? Tôi thấy dễ dàng hơn khi chỉ đặt return ở phía trước mã mà tôi không muốn chạy để nhận xét nó (khi các nhận xét chồng lên nhau và cư xử xấu) ...Có cách nào bỏ qua lỗi 'Tuyên bố không thể truy cập' không?

+3

lý do tại sao! o tại sao! viết một mã mà lập trình viên của bạn ghét bạn vì ?! – Nishant

+3

@Nantant: Tôi thường sử dụng 'if (2> 1) return;' cho mục đích gỡ lỗi. –

+3

@Nishant Nó chỉ là để gỡ lỗi, tôi không để lại đoạn mã nằm xung quanh trừ khi tôi trực tiếp làm việc với họ. –

Trả lời

68

No. Đó là lỗi thời gian biên dịch. Vì vậy, bạn phải loại bỏ nó trước khi chạy lớp học của bạn.

Điều tôi thường làm là đặt một tuyên bố giả mạo if ở phía trước. Một cái gì đó như:

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

Với mã này, bạn sẽ không gặp lỗi Unreachable statement. Và bạn sẽ có được những gì bạn muốn.

+18

Bạn có thể thay thế 'if (1 == 1)' bằng 'if (true)' vì 1 == 1 luôn đúng. –

-7

bạn phải khắc phục điều đó unreachable code.

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

trình biên dịch sẽ không biên dịch mã nguồn của bạn. bạn phải chăm sóc mã nguồn của bạn mà mọi dòng có thể truy cập được vào trình biên dịch.

1

Nếu bạn muốn tắt/bật mảnh nhất định mã nhiều lần lừa từ cũ C có thể giúp bạn:

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

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

Bây giờ bạn chỉ cần viết /* vào đầu

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

Nó hoạt động bằng các ngôn ngữ khác nữa. Nhưng ByteCode không có hàng 34.

Các vấn đề liên quan