如何知道确切的代码行在哪里引起异常? [英] How to know the exact line of code where where an exception has been caused?

查看:155
本文介绍了如何知道确切的代码行在哪里引起异常?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

如果我自己生成异常,我可以在异常中包含任何信息:一些代码行和源文件的名称。这样的东西:

  throw std :: exception(myFile.cpp:255); 

但是,未处理的异常或异常不是由我生成的?

解决方案

似乎每个人都试图改进你的代码,在你的代码中抛出异常,没有人试图实际问你问。

这是因为它不能做。如果抛出异常的代码只以二进制形式显示(例如在LIB或DLL文件中),那么行号就会消失,并且没有办法将对象连接到源代码中的一行。


If I generate an exception by myself, I can include any info into the exception: a number of code line and name of source file. Something like this:

throw std::exception("myFile.cpp:255");

But what's with unhandled exceptions or with exceptions that was generated not by me?

解决方案

It seems everyone is trying to improve your code to throw exceptions in your code, and no one is attempting the actual question you asked.

Which is because it can't be done. If the code that's throwing the exception is only presented in binary form (e.g. in a LIB or DLL file), then the line number is gone, and there's no way to connect the object to to a line in the source code.

这篇关于如何知道确切的代码行在哪里引起异常?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆