最佳实践:在JavaScript中尝试/捕获两件事情?

时间:2017-12-09 12:29:03

标签: javascript try-catch

我正在开发一个Web应用程序。 android包装器有一个JavaScript界面​​命名android和IOS有一个界面命名ios。我必须尝试两个接口,但只有其中一个会响应。

我不知道第二次尝试的位置?在第一次尝试里面?在捕获最终抛出或完全分开的try / catch块?

哪一个在逻辑上是首选,哪一个在性能上更好?

第一个想法:

try {
    ios.myMethod();
    }

catch(err) {

            try {
                 android.myMethod();
                 }
            catch{
                 console.log('The Android does not exist');
                  }

            console.log('The ios does not exist');
        }

第二个想法:

try {

     try {
          android.myMethod();
          }
     catch{
         console.log('The Android does not exist');
          }

    ios.myMethod();
    }

catch(err) {
            console.log('The ios does not exist');
        }

第三个想法:

try {
    ios.myMethod();
    }

catch(err) {
            console.log('The ios does not exist');
        }
 finally{

      try {
          android.myMethod();
          }
      catch{
         console.log('The Android does not exist');
          }
       }

我的最后一个想法:

 try {
      android.myMethod();
      }
 catch{
     console.log('The Android does not exist');
      }

 try {
      ios.myMethod();
      }
 catch{
     console.log('The IOS does not exist');
      }

1 个答案:

答案 0 :(得分:0)

第一个想法似乎合适。另外看看你是否可以使用if else语句,如下所示:

if (window.ios && window.ios.myMethod {
    ios.myMethod();
} else if (window.android && window.android.myMethod) {
    android.myMethod();
}