| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1071 人关注过本帖
标题:怎样确定代码所在的位置(函数,行)?
只看楼主 加入收藏
弱智抓蛙男
Rank: 1
等 级:新手上路
帖 子:264
专家分:0
注 册:2006-11-24
收藏
得分:0 
具体是什么方法?
2007-04-02 17:35
千里冰封
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:灌水之王
等 级:版主
威 望:155
帖 子:28477
专家分:59
注 册:2006-2-26
收藏
得分:0 
这是定义在所有异常的超类Throwable里面的一个方法

[CODE]/**
* Fills in the execution stack trace. This method records within this
* <code>Throwable</code> object information about the current state of
* the stack frames for the current thread.
*
* @return a reference to this <code>Throwable</code> instance.
* @see java.lang.Throwable#printStackTrace()
*/
public synchronized native Throwable fillInStackTrace();[/CODE]

它声明native表示它是用本地方法实现的.源文件里面是看不到的

可惜不是你,陪我到最后
2007-04-02 17:43
弱智抓蛙男
Rank: 1
等 级:新手上路
帖 子:264
专家分:0
注 册:2006-11-24
收藏
得分:0 
多谢了,看来我还是得另辟途径。。。
2007-04-02 18:03
千里冰封
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:灌水之王
等 级:版主
威 望:155
帖 子:28477
专家分:59
注 册:2006-2-26
收藏
得分:0 
祝你好运

可惜不是你,陪我到最后
2007-04-02 18:28
黄袖标
Rank: 4
等 级:贵宾
威 望:13
帖 子:676
专家分:0
注 册:2007-3-22
收藏
得分:0 
我觉得ide提示的异常出现的位置够精确了。

我胡汉三又回来啦!物是人非啊,只有静夜思大大还在。
2007-04-02 18:42
Eastsun
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:32
帖 子:802
专家分:0
注 册:2006-12-14
收藏
得分:0 
嘿嘿,我想到一种有趣的方法可以达到楼主的目的,等我试验一下先

My BlogClick Me
2007-04-02 19:13
Eastsun
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:32
帖 子:802
专家分:0
注 册:2006-12-14
收藏
得分:0 
最终解决方法:

/**
*得到Exception所在代码的行数
*如果没有行信息,返回-1
*@author: Eastsun
*/
public static int getLineNumber(Exception e){
StackTraceElement[] trace =e.getStackTrace();
if(trace==null||trace.length==0) return -1; //
return trace[0].getLineNumber();
}

使用方法:

public static void main(String[] args){
System.out.println(\"Current line number: \"+getLineNumber(new Exception()));
}

My BlogClick Me
2007-04-02 20:32
ILoveMK
Rank: 3Rank: 3
等 级:新手上路
威 望:6
帖 子:487
专家分:0
注 册:2007-2-12
收藏
得分:0 
强,顶一个~~

天下归心
2007-04-03 01:41
千里冰封
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:灌水之王
等 级:版主
威 望:155
帖 子:28477
专家分:59
注 册:2006-2-26
收藏
得分:0 
以下是引用Eastsun在2007-4-2 20:32:47的发言:
最终解决方法:

/**
*得到Exception所在代码的行数
*如果没有行信息,返回-1
*@author: Eastsun
*/
public static int getLineNumber(Exception e){
StackTraceElement[] trace =e.getStackTrace();
if(trace==null||trace.length==0) return -1; //
return trace[0].getLineNumber();
}

使用方法:

public static void main(String[] args){
System.out.println(\"Current line number: \"+getLineNumber(new Exception()));
}

呵呵,这个方法不错,很巧


可惜不是你,陪我到最后
2007-04-03 09:28
beyond_p
Rank: 1
等 级:新手上路
威 望:1
帖 子:114
专家分:0
注 册:2007-1-17
收藏
得分:0 

记下! 学习中...


越是深入的学习,就越来越感觉到自己知道的太少了...
2007-04-03 16:02
快速回复:怎样确定代码所在的位置(函数,行)?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.025431 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved