有没有人有异常处理的最佳实践?
在网上搜索时,我在代码级别找到了很多最佳实践(不要抓住一般异常,不要重新抛出新的异常等).我所寻找的是更高级别的最佳实践,例如:
非常感谢任何想法和帮助,谢谢.
这可能是一个简单的问题,但是如何在构建页面时最好地使用ASP.NET中的AJAX加载器来提供加载对话框?
我目前有一个UpdatePanel,它带有一个关联的UpdateProgressPanel,它包含ProgressTemplate中的加载消息和gif.
目前我有一个onLoad()的页面并获取业务实体然后显示它们.虽然它这样做我想显示一个AJAX加载器.
在页面加载中没有任何内容并且在onLoadComplete或unLoad()上触发隐藏按钮会更好吗,然后等待按钮单击方法完成显示UpdateProgressPanel?
众所周知,有时开发人员必须记录内容.或者捕获一些用于提交错误报告的内容.
我的问题是在MS Windows中.
我正在尝试捕获应用程序的几个区域的上下文菜单(右键单击项目后出现的弹出菜单).按下Alt以启动Alt+ PrintScreen进程将关闭上下文菜单.
(只有按下有PrintScreen帮助,但每次删除非窗口区域都很痛苦).
奖励:要捕获菜单,Alt还要关闭菜单.但是,如果您首先使用该Alt键打开菜单,它的工作原理如下:
在stackoverflow.com上发布堆栈溢出问题,有多么有趣:-)
我正在运行一些递归的Ruby代码,我得到: "Stack level too deep (SystemStackError)"
(我很确定代码是有效的,我不是在无限的递归死亡螺旋中,但这不是重点)
有没有改变我的Ruby应用程序允许的堆栈深度/大小?
如果这是Ruby中的限制,我不太明白,因为错误说"堆栈级别",这让我觉得Ruby以某种方式计算堆栈的"级别",或者它只是意味着堆栈已满.
我试过在Vista和Ubuntu下运行这个程序,结果相同.在Ubuntu下我尝试用'ulimit -s'将堆栈大小从8192更改为16000,但这并没有改变任何东西.
编辑:感谢您的反馈.
我确实意识到使用递归函数可能不是最强大的方法.但这也不是重点.我只是想知道是否有办法增加堆栈大小..期间.正如我所提到的,我确实尝试在运行ruby脚本之前运行ulimit -s 16000 ..没有任何改进..我使用它错了吗?
Edit2:事实上我在代码的边缘情况下有一个无限递归.
当您收到"Stack level too deep"
错误时,截断的ruby堆栈跟踪有点误导.
当具有涉及多个函数的递归行为时,您会得到递归数量远低于其实际值的印象.在这个示例中,可能会在超过190次调用后崩溃,但实际上大约有15000次调用
tst.rb:8:in `p': stack level too deep (SystemStackError)
from tst.rb:8:in `bar'
from tst.rb:12:in `bar'
from tst.rb:19:in `foo'
from tst.rb:10:in `bar'
from tst.rb:19:in `foo'
from tst.rb:10:in `bar'
from tst.rb:19:in `foo'
from tst.rb:10:in `bar'
... 190 levels...
from tst.rb:19:in `foo'
from tst.rb:10:in `bar'
from tst.rb:19:in `foo'
from tst.rb:22
Run Code Online (Sandbox Code Playgroud)
-Andreas
我在针对公司LDAP服务器运行复杂查询时遇到问题.我正在使用以下Perl脚本:
use Data::Dumper;
use Net::LDAP;
die "Can't connect to LDAP-Server: $@\n"
unless $ldap = Net::LDAP->new( 'xLDAPx' );
foreach my $filter ( 'ou=Personal', 'ou=BAR', 'ou=Personal,ou=BAR', 'ou=Personal,ou=FOO,o=FOO,dc=foo,dc=com' )
{
$mesg = $ldap->search( base => "o=FOO,dc=foo,dc=com", filter => $filter );
print Dumper($mesg), "\n\n";
}
Run Code Online (Sandbox Code Playgroud)
虽然前两个过滤器起作用(如返回预期值),但最后一个过滤器不起作用.它返回一个空数组.让我感到困惑的是,当我使用像Softerra LDAP Browser这样的工具时,完全相同的查询字符串可以正常工作.
我也尝试过使用PHP ldap_search
&co 的相同查询,但无济于事.
有人可以对此有所了解吗?
谢谢阅读
holli
编辑:这是服务器的结构:
Server
ou=FOO
ou=...
ou=Personal
uid=something
Run Code Online (Sandbox Code Playgroud)
我需要一份uid列表.
当我启动perfmon并尝试添加计数器时,显示的性能对象都是数字.如何重置这些Performance对象?
today1 = new Date();
today2 = Date.parse("2008-28-10");
Run Code Online (Sandbox Code Playgroud)
要比较这些的时间(毫秒)值,我必须执行以下操作,因为today2只是一个数字.
if (today1.getTime() == today2)
Run Code Online (Sandbox Code Playgroud)
为什么是这样?
在调查内存泄漏的同时,我发现它是由多次在循环内的Table上调用NewRow()引起的.但是,创建的DataRow从未添加到Table Rows集合中,并且Table Rows Count从未超过零.
我的问题是,为什么每次调用NewRow时都会占用更多内存,即使新创建的DataRow永远不会被添加到Rows集合中,而从NewRow返回的DataRow总是被分配给同一个局部变量(从而显然丢弃了最后一个新行).
请忽略代码为什么创建没有添加到表中的DataRows的问题!
javascript ×2
ruby ×2
windows ×2
.net ×1
ajax ×1
architecture ×1
asp.net ×1
bug-tracking ×1
datatable ×1
exception ×1
jquery ×1
ldap ×1
memory-leaks ×1
open-uri ×1
perfmon ×1
perl ×1
printscreen ×1
recursion ×1
screenshot ×1
vb.net ×1