NullPointerException: println necesita un mensaje en Android

Resuelto M.A.Murali asked hace 54 años • 6 respuestas

En mi reproductor multimedia reproduzco una canción desde la tarjeta SD. muestra un error como NullPointerException: println necesita un mensaje e en Android. Lo intenté durante mucho tiempo pero no sé el motivo. Por favor ayúdenme.

código:

    try {
        mediaPlayer = new  MediaPlayer();
        mediaPlayer.setDataSource("/sdcard/t1.mp3");
        seek.setMax(mediaPlayer.getDuration());
        mediaPlayer.prepare();
        mediaPlayer.start();
        mediaPlayer.setOnCompletionListener(this);          
    }
    catch(Exception ex){
        Log.e("sdcard-err2:",ex.getMessage());  //  null pointer exception : println needs a message 
    }  

Gato de registro:

     05-16 19:27:54.491: ERROR/AndroidRuntime(6889): Caused by: java.lang.NullPointerException: println needs a message
     05-16 19:27:54.491: ERROR/AndroidRuntime(6889):     at android.util.Log.println(Native Method)
     05-16 19:27:54.491: ERROR/AndroidRuntime(6889):     at android.util.Log.e(Log.java:208)
     05-16 19:27:54.491: ERROR/AndroidRuntime(6889):     at com.seek.bar.media3.onCreate(media3.java:43)
     05-16 19:27:54.491: ERROR/AndroidRuntime(6889):     at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
     05-16 19:27:54.491: ERROR/AndroidRuntime(6889):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2459)
     05-16 19:27:54.491: ERROR/AndroidRuntime(6889):     ... 11 more
M.A.Murali avatar Jan 01 '70 08:01 M.A.Murali
Aceptado

Para cualquier otra persona que entienda esto, intente reemplazar la única llamada al método o el nombre de la variable con "" + varName.

Por ejemplo,

Log.d("LOGCAT", getErrorMsg());

se convierte

Log.d("LOGCAT", "" + getErrorMsg());
Kyle Clegg avatar May 27 '2012 04:05 Kyle Clegg

En la captura, use:

String err = (ex.getMessage()==null)?"SD Card failed":ex.getMessage();
Log.e("sdcard-err2:", err);

Pasar nullal segundo argumento de una Logfunción de registro genera ese error, independientemente de la fuente.

Haphazard avatar May 16 '2011 14:05 Haphazard

Tal vez simplemente no haya ningún mensaje adjunto en la excepción que estás captando. Inténtalo ex.printStackTrace(); en su lugar. Espero que esto ayude.

Egor avatar May 16 '2011 14:05 Egor

Otra forma de utilizarlo es con Log.getStackTraceString(e), ejemplo:

Log.e(TAG, Log.getStackTraceString(e));

Puedes leer más sobre esto en la documentación de Android.

Moises Portillo avatar Jun 16 '2016 05:06 Moises Portillo