gpt4 book ai didi

java - 避免应用程序在捕获异常时崩溃

转载 作者:行者123 更新时间:2023-12-01 12:03:49 27 4
gpt4 key购买 nike

我有一个从在线文件中读取行的互联网操作。它位于 try-catch block 中。当执行失败时(例如缺少互联网连接),操作将进入 catch block 并且应用程序崩溃。如何避免崩溃?

try {
BufferedReader reader = new BufferedReader(new InputStreamReader((new URL(MegaMethods.url+params[0])).openStream()), 8192);
String line;
while ((line = reader.readLine()) != null) {
count++;
}
reader.close();
}
catch (Exception e){
// Here I want to do something to avoid app crash
}

最佳答案

在尝试获取文件之前,请尝试检查设备是否具有网络连接。如果没有找到网络,则避免该任务。

代码示例 - 调用此方法。如果返回 true,则网络可用。

public boolean isNetworkAvailable() {
boolean status=false;
try{
ConnectivityManager cm = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo netInfo = cm.getNetworkInfo(0);
if (netInfo != null && netInfo.getState()==NetworkInfo.State.CONNECTED) {
status= true;
}else {
netInfo = cm.getNetworkInfo(1);
if(netInfo!=null && netInfo.getState()==NetworkInfo.State.CONNECTED)
status= true;
}
}catch(Exception e){
e.printStackTrace();
return false;
}
return status;

}

此外,我同意您的观点,由于某种原因,应用程序可能会抛出异常并到达 Catch block 。但请注意,即使 catch block 为空,也不会导致您的应用程序崩溃。

应用程序可能会因 try catch block 之外的某些代码而崩溃。

关于java - 避免应用程序在捕获异常时崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27809207/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com