标签: exception-handling

为什么UnhandledExceptionEventArgs.Exception对象是一个对象而不是异常?

为什么是UnhandledExceptionEventArgs.ExceptionObject一个对象而不是一个Exception

我依附于AppDomain.UnhandledException.

我想UnhandledExceptionEventArgs.ExceptionObject加入Exception并插入它.

考虑到这一点,它会永远是空的吗?

MSDN文档不exatly有用.

获取未处理的异常对象.

.net exception-handling exception unhandled-exception

121
推荐指数
2
解决办法
1万
查看次数

区别:std :: runtime_error vs std :: exception()

std::runtime_error和之间有什么区别std::exception?每种用途的适当用途是什么?它们为什么首先不同?

c++ exception-handling

121
推荐指数
2
解决办法
7万
查看次数

为什么exception.printStackTrace()被认为是不好的做法?

有一个很大材料这表明印刷异常的堆栈跟踪是不好的做法.

例如,来自Checkstyle的RegexpSingleline检查:

这个检查可用于查找常见的不良做法,例如调用ex.printStacktrace()

但是,我很难找到任何能够提供正确理由的地方,因为堆栈跟踪在跟踪导致异常的原因时非常有用.我所知道的事情:

  1. 最终用户永远不应该看到堆栈跟踪(出于用户体验和安全目的)

  2. 生成堆栈跟踪是一个相对昂贵的过程(尽管在大多数"特殊"情况下不太可能成为问题)

  3. 许多日志记录框架将为您打印堆栈跟踪(我们的不会也不会,我们无法轻易更改它)

  4. 打印堆栈跟踪不构成错误处理.它应该与其他信息记录和异常处理相结合.

还有哪些其他原因可以避免在代码中打印堆栈跟踪?

java exception-handling printstacktrace

120
推荐指数
7
解决办法
11万
查看次数

Mockito如何模拟和断言抛出的异常?

我在junit测试中使用mockito.你怎么做一个异常发生然后断言它有(通用伪代码)

java junit exception-handling mockito

120
推荐指数
10
解决办法
28万
查看次数

Windows窗体应用程序中异常处理的最佳实践?

我目前正在编写我的第一个Windows Forms应用程序.我现在已经阅读了一些C#书籍,所以我对C#处理异常的语言功能有了比较深入的了解.它们都非常理论化,所以我还没有想到如何在我的应用程序中将基本概念转换为一个良好的异常处理模型.

有人愿意分享关于这个主题的任何智慧珍珠吗?发布你看过像我这样的新手所犯的常见错误,以及处理异常的一般建议,使我的应用程序更加稳定和健壮.

我目前正在努力解决的主要问题是:

  • 什么时候应该重新抛出异常?
  • 我应该尝试某种中央错误处理机制吗?
  • 与预先测试诸如磁盘上的文件之类的内容相比,处理可能引发的异常会产生性能损失吗?
  • 是否所有可执行代码都包含在try-catch-finally块中?
  • 有空的挡块是否可以接受?

感谢所有建议!

c# exception-handling winforms

117
推荐指数
7
解决办法
7万
查看次数

'finally'总是在Python中执行吗?

对于Python中任何可能的try-finally块,是否可以保证finally块总是被执行?

例如,假设我在一个except块中返回:

try:
    1/0
except ZeroDivisionError:
    return
finally:
    print("Does this code run?")
Run Code Online (Sandbox Code Playgroud)

或许我重新提出一个Exception:

try:
    1/0
except ZeroDivisionError:
    raise
finally:
    print("What about this code?")
Run Code Online (Sandbox Code Playgroud)

测试显示finally上面的例子确实执行了,但我想还有其他我没有想过的场景.

是否有任何情况下finally块无法在Python中执行?

python exception-handling finally try-catch-finally

116
推荐指数
4
解决办法
2万
查看次数

Visual Studio 2015打破未处理的异常无效

Visual Studio曾经有一个特定的复选框"Break on Un-handling exception".在2015年,这已被删除(或移动到我找不到的地方).因此,如果我未能提供用户级异常处理程序,那么现在我的转换项目不再中断.我不想打破所有"抛出异常",因为我处理特定的异常.就在我无法提供特定处理程序的地方.

现在我的代码只退出当前程序并继续在下一个调用堆栈位置执行,而不是好.

任何人都知道如何在Visual Studio 2015中获得此功能?我昨天刚升级到社区版.

c# exception-handling unhandled-exception visual-studio-2015

114
推荐指数
5
解决办法
5万
查看次数

如何在变量中保存traceback/sys.exc_info()值?

我想将错误的名称和回溯详细信息保存到变量中.这是我的尝试.

import sys
try:
    try:
        print x
    except Exception, ex:
        raise NameError
except Exception, er:
    print "0", sys.exc_info()[0]
    print "1", sys.exc_info()[1]
    print "2", sys.exc_info()[2]
Run Code Online (Sandbox Code Playgroud)

输出:

0 <type 'exceptions.NameError'>
1 
2 <traceback object at 0xbd5fc8>
Run Code Online (Sandbox Code Playgroud)

期望的输出:

0 NameError
1
2 Traceback (most recent call last):
  File "exception.py", line 6, in <module>
    raise NameError
Run Code Online (Sandbox Code Playgroud)

PS我知道这可以使用traceback模块轻松完成,但我想知道sys.exc_info()[2]对象的用法.

python exception-handling

111
推荐指数
4
解决办法
9万
查看次数

110
推荐指数
9
解决办法
15万
查看次数

PHP:异常vs错误?

也许我在PHP手册的某个地方遗漏了它,但是错误和异常之间究竟有什么区别?我能看到的唯一区别是错误和异常的处理方式不同.但是什么导致异常以及导致错误的原因是什么?

php error-handling exception-handling exception

110
推荐指数
6
解决办法
4万
查看次数