为了账号安全,请及时绑定邮箱和手机立即绑定

以下是程序中的一段代码,程序能正常运行,catch不是找错吗,怎么这里面catch在搞什么啊?

以下是程序中的一段代码,程序能正常运行,catch不是找错吗,怎么这里面catch在搞什么啊?

米琪卡哇伊 2022-04-21 15:11:03
try{smallfoldername = Server.MapPath(ConfigurationManager.AppSettings["SmallPath"]);bigfoldername = Server.MapPath(ConfigurationManager.AppSettings["NormalPath"]);}catch{smallfoldername = Server.MapPath("./Photo/SmallPics/");bigfoldername = Server.MapPath("./Photo/NormalPics/");}
查看完整描述

3 回答

?
慕婉清6462132

TA贡献1804条经验 获得超2个赞

在try...catch块中,设定了两个变量,变量需要读取配置文件中两个键的值,当读取发生错误的时候就在catch中将两个变量设默认值。
这样是可以的,有时候在catch中出了要把错误写出来之外,也要写一些以防程序崩溃的代码,就像这个代码,如果不赋这两个值也许在程序后方会让程序崩溃。

查看完整回答
反对 回复 2022-04-24
?
DIEA

TA贡献1820条经验 获得超2个赞

这么写根本就不是try catch的正常用法.仅仅目前的功能完全可以去掉
可以用
smallfoldername = Server.MapPath(ConfigurationManager.AppSettings["SmallPath"]);
if(String.IsNullOrEmpty(smallfoldername))
smallfoldername = Server.MapPath("./Photo/SmallPics/");

bigfoldername = Server.MapPath(ConfigurationManager.AppSettings["NormalPath"]);
if(String.IsNullOrEmpty(bigfoldername))
bigfoldername = Server.MapPath("./Photo/NormalPics/");



查看完整回答
反对 回复 2022-04-24
?
慕尼黑的夜晚无繁华

TA贡献1864条经验 获得超6个赞

在C#中catch后是可以不写像(Exception e)这种的,上面代码的意思就是,当try块出问题后,执行catch块中的代码。

查看完整回答
反对 回复 2022-04-24
  • 3 回答
  • 0 关注
  • 215 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信