首先,调用的方法有可能出现异常而且已经在类中抛出该异常,此时需要调用者处理或者抛出。
其次,当设计需求里有相对于该需求特殊的异常,比如:除以负数。
本来它并不是异常。由于某些需求会不允许除以负数。
此时就需要自定义异常类,然后在有可能发生异常的地方进行判断并抛出异常对象。
此异常如需调用者处理可以在类上抛出,如想使程序就此停止运行,可以不在类上抛出。
另外,处理异常的没有最好的途径。只有最合适的。
因为相对不同的情况会有不同的处理方式。
比较常规的处理方式:
抓取异常
对异常进行处理
关闭资源。
但是,某些情况下需求是不一样的。
例如:毕老师讲io的时候处理的异常。
需求就是为了演示io。
所以异常经常全部抛出。
这就是相对这种情况下比较合适的处理方式。
如果你去做项目的话,io中的异常当然不能直接抛出。
因为现在你的需求是需要项目的安全和稳定性。
所以异常的处理需要视情况而定,最合适的才是最好的。
关于内存变化,也是视情况而定。
比较常规的变化是:
抓取到异常
立刻跳转到相应的异常处理
处理完以后执行必须执行的代码。
不是所有的异常都需要在内部处理。
要有一种面向对象的思想。
要先明确此异常是否是在内部能狗处理的了的。
不该你处理的异常你处理了,就会使问题隐藏而造成更大的隐患。
希望对你有所帮助。 |