在Java中嵌套trycatch语句是否可以接受?

在Java中嵌套trycatch语句是否可以接受?,第1张

概述我试图从传入的值(使用Bundle)在Android中创建一个IP地址,如果失败,我将使用硬编码的默认IP地址创建它.如果失败,那么我退出应用程序.我想知道的是,如果可以像我在这里做的那样嵌套try/catch,或者是否有更好的方法.try{//serverSettingsistheBundlenamethatwasp

我试图从传入的值(使用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语句是否可以接受?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/1120160.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-29
下一篇2022-05-29

发表评论

登录后才能评论

评论列表(0条)

    保存