package com.thomasdh.roosterpgplus.Helpers; import android.content.Context; import android.util.Log; import android.widget.Toast; import java.util.Arrays; public class ExceptionHandler { public static void handleException(Exception exception, Context context, HandleType type) { switch (type) { // Alles wordt gelogd, Analytics krijgt een crash door case FATAL: Toast.makeText(context, exception.getMessage() + ": " + Arrays.toString(exception.getStackTrace()), Toast.LENGTH_LONG).show(); break; // Er wordt geen toast afgegeven, de gebruiker weet niet dat er iets misgaat // Bedoeld voor dingen die regelmatig msigaan, zoals het laden van een bestand waarvan je niet // zeker bent dat het bestaat case SILENT: break; // Alleen de description wordt getoast case SIMPLE: Log.e("FOUT", exception.getMessage(), exception); Toast.makeText(context, exception.getMessage(), Toast.LENGTH_LONG).show(); break; // Zowel de description als de stacktrace wordt getoond case EXTENSIVE: Toast.makeText(context, exception.getMessage() + ": " + Arrays.toString(exception.getStackTrace()), Toast.LENGTH_LONG).show(); break; } } public enum HandleType { FATAL, SILENT, SIMPLE, EXTENSIVE } }