
我试图从传入的值(使用Bundle)在Android中创建一个IP地址,如果失败,我将使用硬编码的默认IP地址创建它.如果失败,那么我退出应用程序.
我想知道的是,如果可以像我在这里做的那样嵌套try / catch,或者是否有更好的方法.
try { // serverSettings is the Bundle name that was passed in. ipAddress = InetAddress.getByname(serverSettings.getString("serverIp"));} catch (UnkNownHostException e) { Log.e("ERROR:", "IOException: Failed to create IP, trying default"); try { // DEFAulT_IP is the hard-coded default fall-back address ipAddress = InetAddress.getByname(DEFAulT_IP); } catch (UnkNownHostException e1) { Log.e("ERROR:", "IOException: Total fail, exiting"); e1.@R_502_1715@(); finish(); }}解决方法:
这是合法的Java.它看起来很笨我,我可能会采用不同的方式,但它有效并且有效.
这是我如何做到的:
public InetAddress getServerAddress() { for (String address : new String[] {serverSettings.getString("serverIp"), DEFAulT_IP}) { try { return InetAddress.getByname(address); } catch (UnkNownHostException e) { Log.e("ERROR:", "Cannot resolve " + address); } } Log.e("ERROR:", "Total fail, exiting"); finish(); return null; // not reached} 总结 以上是内存溢出为你收集整理的在Java中嵌套try / catch语句是否可以接受?全部内容,希望文章能够帮你解决在Java中嵌套try / catch语句是否可以接受?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)