java – Android:未处理的异常类型IOException错误
发布时间:2020-12-15 05:10:08 所属栏目:Java 来源:网络整理
导读:我是 Android开发者的总菜鸟.我还在学习,而且我是我的app dev的第一步. 我有这个代码工作,它运行良好或常规Java,现在我正在尝试实现Android操作系统. 在我的代码中,它说TEST.openStream()我得到Unhandled异常类型IOException错误. package com.zv.android;im
我是
Android开发者的总菜鸟.我还在学习,而且我是我的app dev的第一步.
我有这个代码工作,它运行良好或常规Java,现在我正在尝试实现Android操作系统. 在我的代码中,它说TEST.openStream()我得到Unhandled异常类型IOException错误. package com.zv.android; import java.io.BufferedReader; import java.io.InputStreamReader; import java.net.MalformedURLException; import java.net.URL; import android.app.Activity; import android.os.Bundle; public class ZipActivity extends Activity { /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); try { URL TEST = new URL("http://www.google.com/"); BufferedReader in = new BufferedReader(new InputStreamReader(TEST.openStream())); String inputLine; int line=0; while ((inputLine = in.readLine()) != null){ line++; //System.out.println(line + "t" + inputLine); } // in.close(); } catch(MalformedURLException e) { //Do something with the exception. } } } 解决方法
错误消息很简单:您需要捕获IOException,这是因为URL.openStream()被声明为
public final InputStream openStream() throws IOException 因此,通过接受方法的契约,您也接受了必须处理此异常的事实,这就是它在Java中的工作方式.这是一个经过检查的异常,然后必须捕获它,因为这种异常表示可能出现的情况以及您的代码必须处理的情况. 要捕获它,只需在try语句中添加另一个案例: try { .. catch (MalformedURLException e) { .. } catch (IOException e) { .. } 正如最后一点:当你调用openStream()方法时,你不需要捕获它,你可以声明调用openStream()的方法会将异常转发给调用者,但是在调用链的末尾你在任何情况下都必须抓住它. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |