抛出异常时怎么定位到抛出异常的那一行代码?

抛出异常时怎么定位到抛出异常的那一行代码?

问题描述:

问个比较低级的问题:就抛出异常的时候怎么能得到具体是哪一行代码抛出的?

我还正想问怎么把自己的解决办法贴上来呢。我那个问题类似一般就可以用ex.StackTrace()显示问题和定位出问题的方法和行号,但是我的问题还有点特殊,用了这个方法并不能定位到哪一行,只是定位到了出问题的方法。因此StackTrace只是一般的方法

exception.getCause().toString()

c语言:用宏函数__LINE__;
C++/JAVA:如果是自定义异常,Thow MyException,在MyException类中包含行号,
catch到异常后输出。
至于,如何活得行号应该都有办法,C++同C语言使用__LINE__,java自己差下把。

e.printStackTrace()