cuốn sách gpt4 ai đã làm

java - Mọi thứ sau câu lệnh try của tôi có phải được chứa trong câu lệnh try đó để truy cập các biến trong đó không?

In lại Tác giả: Taklimakan Thời gian cập nhật: 2023-11-03 04:11:06 29 4
mua khóa gpt4 Nike

Tôi đang học java và có một điều tôi thấy là tôi thường không thích khi tôi có đoạn code như thế này:

nhập java.util.*;
nhập java.io.*;

Vấn đề về đồ thị lớp công khai
{
public static void main(String[] args)
{
nếu (args. length < 2)
{
System.out.println("Lỗi: Vui lòng chỉ định tệp biểu đồ!");
return;
}


FileReader in = new FileReader(args[1]);
Đầu vào máy quét = Máy quét mới (trong);

kích thước int = input.nextInt();
Biểu đồ WeightedGraph = new WeightedGraph(size);

for(int i = 0; i < size; i++)
{
graph.setLabel(i,Character.toString((char)('A' + i)));
}

for(int i = 0; i < size; i++)
{
for(int j = 0; j < kích thước; j++)
{
graph.addEdge(i, j, input.nextInt());
}
}

// .. nhiều mã hơn

}
}

FileReader của tôi có ngoại lệ chưa được phát hiện.

Vì vậy, tôi phải gói nó trong một lần thử để bắt ngoại lệ cụ thể đó. câu hỏi của tôi là thử { } Tôi có phải đưa mọi thứ sau đó vào phương thức của mình để sử dụng FileReader(đầu vào) hoặc Máy quét (đầu vào) của tôi không?

Nếu tôi không gói toàn bộ phần còn lại của chương trình trong câu lệnh try đó thì không có gì bên ngoài nó có thể truy cập vào/đầu vào vì nó có thể không được khởi tạo hoặc đã được khởi tạo bên ngoài phạm vi của nó. Vì vậy, tôi không thể tách biệt phần thử bắt và chỉ nói phần khởi tạo FileReader rồi đóng ngay câu lệnh thử.

Vì vậy, có phải là "cách thực hành tốt nhất" để câu lệnh thử bao bọc tất cả các phần mã sẽ truy cập các biến được khởi tạo bên trong nó không?

Cảm ơn!

câu trả lời hay nhất

nếu bạn muốnKHÔNGGói mã sau hàm tạo FileReader, bạn có thể khai báo FileReader bên ngoài khối try/catch như sau:

FileReader fr = null;
thử
{
fr = FileReader mới(args[1]);
}
catch (IOException e)
{
//xử lý
}
// mã sử dụng fr

Đó là một thiết kế hợp lý và tôi sử dụng nó thường xuyên. Đảm bảo xử lý chính xác trong đoạn mã sau bạn Khả năng là null (tức là hàm tạo đưa ra một ngoại lệ).

Về java - mọi thứ sau câu lệnh try của tôi có phải được chứa trong câu lệnh try đó để truy cập các biến trong đó không? , chúng tôi đã tìm thấy một câu hỏi tương tự trên Stack Overflow: https://stackoverflow.com/questions/2746098/

29 4 0
Chứng chỉ ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com
Xem sitemap của VNExpress