问题好多呀,呵呵
1.异常最大的开销是创建异常时需要回溯栈信息,如果没有异常的时候几乎不会影响性能
2.捕获异常
一个异常描述了程序在正常执行过程中发生的错误条件,当一个异常发生或抛出。那么正常的程序执行序列将被终止,程序将对异常进行处理,我们称之为抛出异常被捕获
如果在程序中捕获我们的错误,我们就能够增加程序的可靠性和健壮性,一种处理办法就是使用try-catch语句把可能抛出异常的语句包起来,在Java语言在中,异常Throwable 及其子类的实例对象,Throwable类有两个子类有两个子类
Error
Exception
Error类表示严重的错误,这个错误不应当由应用程序来捕获
Exception类表示了一个应当被捕获的错误条件
在Throwable类中有两个方法,可以用于获取抛出异常的信息
getMessage
printStackTrace
捕获异常
Try程序块里面的语句是按顺序执行的语句
当try程序块里面的语句抛出一个异常的时候,程序的控制转向了相匹配的catch程序块,catch程序块里面的语句被执行。
当异常发生后,程序执行将忽略try程序块中剩余的语句,继续执行程序块后面的语句。
如果在try程序块中没有抛出异常,那么catch块将被忽略。程序将继续执行try-catch下面的语句,抛出异常
3.
如果过多,是因为你的可能报错的地方比较多而是用try catch,这样当错误出现时,反而会比较方便的定位错误的位置。建议,将try catch 用的细致化,明确化。如果是滥用,这样只是会让程序的可读性变的很糟糕,当程序报错,也无法快速准确的定位。
4.
外面。如果遇到异常,循环停止。如果放在循环里面,就会一直抛出异常信息,最后内存溢出。我很少看到用在里面的。呵呵
|