C# 使用throw new Exception 前能否判断外面套了try catch 结构,如果未套用,直接外抛异常,应用程序会崩溃,有什么解决方法吗?
throw的意义就在于让错误抛出,让程序崩溃,这总比数据出错了还把错误的数据全塞进数据库里要好的多了
如果你只是简单的if判断,那该如何显示异常信息呢,print到控制台吗,还是写入日志呢,都不如throw出去让外面处理,外面爱怎么处理是外面的事情
外面当然可以不处理,就直接让程序崩溃,调试的时候完全可以这样做,这样代码会自动断点在出错的位置
否则统一进入catch,你回头再找到底是哪句报错是很困难的
当你把能预测的错误都处理的差不多了,需要再预防无法预测的错误导致崩溃,再加try不迟
-=-=-=-=
当然还有一种思路,是类似tryparse函数,不管什么情况都不会导致抛异常,而是将异常作为返回值返回,外面再去判断这个返回值(当然也可以不判断直接丢弃)
内部没办法知道外部,外部可以知道内部,你可以在main函数,也就输入口点加上一个总的try catch