在本文中,我们将带你了解c#–无法捕获Winforms中的未处理异常在这篇文章中,我们将为您详细介绍c#–无法捕获Winforms中的未处理异常的方方面面,并解答exceptionhandler无法捕
在本文中,我们将带你了解c# – 无法捕获Winforms中的未处理异常在这篇文章中,我们将为您详细介绍c# – 无法捕获Winforms中的未处理异常的方方面面,并解答exceptionhandler无法捕获异常常见的疑惑,同时我们还将给您一些技巧,以帮助您实现更有效的android 自定义全局未处理异常捕获器、ASP.NET Webforms中的异常处理、asp.net – WinForms和Asp的类库中的异常处理、asp.net捕获全局未处理异常的几种方法。
本文目录一览:- c# – 无法捕获Winforms中的未处理异常(exceptionhandler无法捕获异常)
- android 自定义全局未处理异常捕获器
- ASP.NET Webforms中的异常处理
- asp.net – WinForms和Asp的类库中的异常处理
- asp.net捕获全局未处理异常的几种方法
c# – 无法捕获Winforms中的未处理异常(exceptionhandler无法捕获异常)
我究竟做错了什么?
static void Main() { System.Windows.Forms.Application.SetUnhandledExceptionMode(UnhandledExceptionMode.CatchException); System.Windows.Forms.Application.ThreadException += new System.Threading.ThreadExceptionEventHandler(OnGuiUnhandedException); AppDomain.CurrentDomain.UnhandledException += OnUnhandledException; var form = new MainForm(); form.ShowDialog(); } private static void HandleUnhandledException(Object o) { // Todo: Log it! Exception e = o as Exception; if (e != null) { } } private static void OnUnhandledException(Object sender,UnhandledExceptionEventArgs e) { HandleUnhandledException(e.ExceptionObject); } private static void OnGuiUnhandedException(object sender,System.Threading.ThreadExceptionEventArgs e) { HandleUnhandledException(e.Exception); }
编辑:我能够在Visual Studio外部运行程序时捕获异常,但是当从visual studio进行调试时我无法捕获Exception.我知道调试是为了删除错误.我应该在构建模式下运行程序来捕获异常?
解决方法
调试>例外……>取消选中用户未处理的公共语言运行时异常.
android 自定义全局未处理异常捕获器
1:异常处理捕获类
package com.oa.main.common.tool;
import android.content.Context;
import android.util.Log;
/**
* 自定义全局未处理异常捕获器
* Created on 13-12-13.
*/
public class CrashHandler implements Thread.UncaughtExceptionHandler {
private static CrashHandler instance; //单例引用,这里我们做成单例的,因为我们一个应用程序里面只需要一个UncaughtExceptionHandler实例
private CrashHandler() {
}
public synchronized static CrashHandler getInstance() { //同步方法,以免单例多线程环境下出现异常
if (instance == null) {
instance = new CrashHandler();
}
return instance;
}
public void init(Context ctx) { //初始化,把当前对象设置成UncaughtExceptionHandler处理器
Thread.setDefaultUncaughtExceptionHandler(this);
}
public void uncaughtException(Thread thread, Throwable ex) { //当有未处理的异常发生时,就会来到这里。。
Log.d("----------------捕获异常-------------!", "uncaughtException, thread: " + thread
+ " name: " + thread.getName() + " id: " + thread.getId() + "exception: "
+ ex);
String threadName = thread.getName();
//这里我们可以根据thread name来进行区别对待,同时,我们还可以把异常信息写入文件,以供后来分析。
// if ("sub1".equals(threadName)) {
// } else if () {
// }
}
}
二:设置全局Application
public class ApplicationTrans extends Application {
@Override
public void onCreate() {
super.onCreate();
CrashHandler handler = CrashHandler.getInstance();
handler.init(getApplicationContext()); //在Appliction里面设置我们的异常处理器为UncaughtExceptionHandler处理器
}
}
三:在androidManifest中配置全局
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/activityTheme"
android:name=".common.entity.ApplicationTrans"
android:debuggable="true">
到此自定义捕获未处理异常结束!
后续有很多开发填坑的文章发布,如果对你有帮助,请支持和加关注一下
http://e22a.com/h.05ApkG?cv=AAKHZXVo&sm=339944
https://shop119727980.taobao.com/?spm=0.0.0.0
ASP.NET Webforms中的异常处理
您有在Web.config级别添加(我认为)的Page_Error方法,并且当发生错误时,整个站点被重定向到那里.
这是否意味着您不应该在webforms应用程序中的任何地方使用try-catch? (假设你不想隐藏任何错误)
解决方法
asp.net – WinForms和Asp的类库中的异常处理
在开发过程中,我乱用了图书馆
Try 'Whatever Catch ex as exception MsgBox("Friendly error message",ex.message) end try
哪个适用于winforms,但不适用于asp.net
我需要一种友好(且简单)的方法来捕获适用于两个平台的异常.
或者更好的问题可能应该是我应该在类库中捕获异常吗?
解决方法
Or a better question Could probably be SHOULD I be trapping exceptions in the Class Library at all?
不应该.类库永远不应该做异常.您只是模糊了发生错误的真正原因,使开发人员更难理解出现了什么问题.
如果该开发人员是您或另一个开发者并不重要.因为当你从现在起一年后返回代码时,你将不知道究竟发生了什么(除非原始异常完好无损).
至于异常处理,我100%反对在应用程序中到处都有try / catch语句.真的没有任何好处.在WinForms中,使用Application.ThreadException事件向用户显示消息框.在ASP.NET中重写Error事件以记录异常并显示友好的错误页面.
我还创建了一个名为OneTrueError的服务,它可以为您提供一切服务.它有一个你可以使用的免费版本.
asp.net捕获全局未处理异常的几种方法
总结
以上是小编为你收集整理的asp.net捕获全局未处理异常的几种方法全部内容。
如果觉得小编网站内容还不错,欢迎将小编网站推荐给好友。
我们今天的关于c# – 无法捕获Winforms中的未处理异常和exceptionhandler无法捕获异常的分享已经告一段落,感谢您的关注,如果您想了解更多关于android 自定义全局未处理异常捕获器、ASP.NET Webforms中的异常处理、asp.net – WinForms和Asp的类库中的异常处理、asp.net捕获全局未处理异常的几种方法的相关信息,请在本站查询。
本文标签: