问:Brian 的未处理异常窗口看起来怎么和在 IDE 中不一样?
答:在IDE 中运行的时候,实际是在用调试器运行程序,任何时候遇到了异常,调试器将会暂停程序并把异常显示在一个有用的窗口中。这样你就可以跟踪异常信息并检查程序的字段、变量来解决问题。 Brian 运行程序的时候是在 IDE 之外运行的。
问:就是这样?在IDE 之外发生异常的时候,程序就会停止而我对此无法干预?
答:嗯,遇到未处理的异常的时候程序确实会停止。但是这并不意味着你的异常都得是未处理的!我们稍后将会讨论如何处理异常。你的程序的用户没有任何理由要看到这些未处理的异常。
问:我如何知道要在哪儿添加一个断点呢?
答:问得好,这个问题没有固定答案。在抛出异常的语句处设置断点是很好的,但是实际上出问题的地方通常要早于抛出异常的语句。只要你了解了程序运行的方式,你应该可以找出着手处的。
问:可以在监视窗口中运行任何方法么?
答:可以。可以写在程序中的语句都可以写在监视窗口中去。不仅如此,它还会弹出一个智能感应窗口来帮你输入代码。这很有用,它将会告诉你在你的程序运行时对于一个对象哪些方法是可用的。
问:等一下,我在监视窗口中运行的某些东西有可能会改变程序运行的方式吗?
答:可以!虽不是总是生效,但是绝对可以影响程序的输出。更好的是,用鼠标在调试器中的字段上晃动一下就可以改变程序的行为,因为在属性上方晃动鼠标会使得其get 访问器被执行。
在IDE中运行程序的时候,遇到未处理的异
常就会停止,就好像遇到断点一样。