2017-11-03 7 views
1

マップにビットマップを使用しないマーカーを追加すると、例外が発生しますが、例外が発生することがあります。ビットマップを使用せずにマップにマーカーを追加すると、例外が発生します。

確かに問題を解決するのは簡単ですが、適切なビットマップを追加するだけですが、アプリがクラッシュすることなく例外をキャッチするのは素晴らしいことです。

private void showLocations() { 

    for(Map location : locations) { 
     MarkerOptions markerOptions = makeMarkerOptions(location); 

     if(googleMap != null && markerOptions != null) { 
      Marker marker = googleMap.addMarker(markerOptions); 
      markers.put(marker, location); 
     } 
    } 
} 

例外は(addmarkerとして起こる)

11-03 10:26:29.297 13148-13148/au.com.gaiaresources.microblitzbeta E/AndroidRuntime: FATAL EXCEPTION: main 
    Process: au.com.zzzzzzz.zzzzzzzz, PID: 13148 
    com.google.maps.api.android.lib6.common.apiexception.b: Failed to decode image. The provided image must be a Bitmap. 
     at com.google.maps.api.android.lib6.impl.g.a(:[email protected]:9) 
     at com.google.maps.api.android.lib6.impl.n.a(:[email protected]:7) 
     at com.google.maps.api.android.lib6.impl.cz.<init>(:[email protected]:25) 
     at com.google.maps.api.android.lib6.impl.ba.a(:[email protected]:487) 
     at com.google.android.gms.maps.internal.k.onTransact(:[email protected]:94) 
     at android.os.Binder.transact(Binder.java:507) 
     at com.google.android.gms.maps.internal.IGoogleMapDelegate$zza$zza.addMarker(Unknown Source) 

どのように私はこの例外をキャッチしていますか?私はcom.google.maps.api.android.lib6.common.apiexception.bをキャッチしようとしましたが、それは存在しませんか?

private void showLocations() { 

    for(Map location : locations) { 
     try { 
      MarkerOptions markerOptions = makeMarkerOptions(location); 

      if(googleMap != null && markerOptions != null) { 
       Marker marker = googleMap.addMarker(markerOptions); 
       markers.put(marker, location); 
      } 
     } catch(com.google.maps.api.android.lib6.common.apiexception.b ex) { 
      getDependencyService().getLogger().error(ex.getLocalizedMessage()); 
     } 
    } 
} 

答えて

-1

このお試しください:(例外例)方が良いキャッチしないでしょう

try { 
     //Your code 
    } catch(Throwable t) { 
     getDependencyService().getLogger().error(t.getLocalizedMessage()); 
    } 
+0

を?私はすべてのものではなく実際の例外をキャッチしたい。 –

+0

はい、それは良いです。しかし、例外をまったく避ける方が良い。 –

関連する問題