Articles of unhandled exception

未处理的exceptiontypes错误

我以前从来没有得过这个错误所以我不知道该做什么或它意味着什么 未处理的exceptiontypesOperationApplicationException 它出现在这段代码中: public void putSettings(SharedPreferences pref){ ArrayList ops = new ArrayList(); ops.add(ContentProviderOperation.newUpdate(Data.CONTENT_URI) .withSelection(Data.RAW_CONTACT_ID + “=?”, new String[]{String.valueOf(pref.getString(SmsPrefs.ID, “”))}) .withValue(Data.MIMETYPE,”vnd.android.cursor.item/color”) .withValue(“data1”,nColor).build()); getContentResolver().applyBatch(ContactsContract.AUTHORITY, ops); //error ops.add(ContentProviderOperation.newUpdate(Data.CONTENT_URI) .withSelection(Data.RAW_CONTACT_ID + “=?”, new String[]{String.valueOf(pref.getString(SmsPrefs.ID, “”))}) .withValue(Data.MIMETYPE,”vnd.android.cursor.item/vibrate”) .withValue(“data1”, nVibrate).build()); getContentResolver().applyBatch(ContactsContract.AUTHORITY, ops); //error ops.add(ContentProviderOperation.newUpdate(Data.CONTENT_URI) .withSelection(Data.RAW_CONTACT_ID + “=?”, new String[]{String.valueOf(pref.getString(SmsPrefs.ID, “”))}) .withValue(Data.MIMETYPE, “vnd.android.cursor.item/sound”) .withValue(“data1”, ringTonePath).build()); getContentResolver().applyBatch(ContactsContract.AUTHORITY, ops);//error } 它给了我2个选项“添加抛出声明”和“环绕尝试/捕获”。 我该怎么办?为什么?

用于在AsyncTask中捕获未处理的exception的设计模式

伙计们, 我在onCreate的顶部通过这样的代码片段捕获未处理的Androidexception: try { File crashLogDirectory = new File(Environment.getExternalStorageDirectory().getCanonicalPath() + Constants.CrashLogDirectory); crashLogDirectory.mkdirs(); Thread.setDefaultUncaughtExceptionHandler(new RemoteUploadExceptionHandler( this, crashLogDirectory.getCanonicalPath())); } catch (Exception e) { if (MyActivity.WARN) Log.e(ScruffActivity.TAG, “Exception setting up exception handler! ” + e.toString()); } 我想在我的android应用程序中使用大约二十几个AsyncTasks,因此会捕获并记录在doInBackground中发生的未处理的exception。 问题是,因为AsyncTask采用任意types的初始化器,我不知道如何声明一个超类,我的所有AsyncTasks都inheritance了它,它设置了这个未处理的exception处理程序。 任何人都可以推荐一个好的设计模式来处理AsyncTask的doInBackground方法中的未处理exception,它不涉及每个新的AsyncTask定义的上述代码的复制和粘贴? 谢谢! UPDATE 这是我使用的设计模式,在仔细查看AsyncTask的源代码之后 import java.io.File; import android.content.Context; import android.os.AsyncTask; import android.os.Environment; import android.util.Log; public abstract class LoggingAsyncTask extends AsyncTask […]

如何全局处理MonoDroid未捕获的exception并防止应用程序崩溃

我正在尝试在我的monodroid应用程序中实现有效的exception处理,该应用程序是用Visual Studio的Xamarin.Android插件编写的。 我正在尝试处理两种types的exception: 在前台(UI)线程 在后台(线程池)线程 在全局处理程序的两种情况下,我想: 记录 – (提交分析事件) 用户通知 – (提醒) 经过一定的调查后,我在 这里和这里find了一些答案,但除了AndroidEnvironment.UnhandledExceptionRaiser和AppDomain.UnhandledException之外什么都没有提出,它并不适用于所有情况。 我创建了一个简短的示例,我试图使用这两个处理程序: AppDomain.CurrentDomain.UnhandledException += (s,e)=> { System.Diagnostics.Debug.WriteLine(“AppDomain.CurrentDomain.UnhandledException: {0}. IsTerminating: {1}”, e.ExceptionObject, e.IsTerminating); }; AndroidEnvironment.UnhandledExceptionRaiser += (s, e) => { System.Diagnostics.Debug.WriteLine(“AndroidEnvironment.UnhandledExceptionRaiser: {0}. IsTerminating: {1}”, e.Exception, e.Handled); e.Handled = true; }; 然后在按钮单击时,我添加了以下代码以引发两种types的exception: //foreground exception throw new NullReferenceException(“test nre from ui thread.”); //background exception ThreadPool.QueueUserWorkItem(unused […]