Unity - A计划(永久有效期) 扫二维码继续学习 二维码时效为半小时

(207评价)
优惠后 ¥1899.00优惠前 ¥2499.00 双十一全年最大力度限时优惠
1对1 答疑即时回复7天无理由退款30天价保提问必答

服务保障

1对1 答疑

提供专属的一对一在线答疑,快速答疑解惑。

即时回复

及时响应学习咨询,帮助解决问题。

7天无理由退款

购买后7天内可申请无理由退款。

30天价保

购买后30天内如遇降价,可申请价保。

提问必答

对于提问做到有问必答,帮您扫清学习过程中的种种障碍

try catch finally的问题
shuaibi发起了话题2017-08-10
4
回复
771
浏览

我以为try是对一个可以能出现异常的代码进行判断,并且在catch代码块中进行修改。

为什么这个是一个异常,但是没有修改只是进行了输出。 那这样子有什么用呢?

是不是try catch finally本身的意思就是来捕捉和提醒的,不是来进行修改的呢?

所有回复
  • sdhexu • 2017-08-10

    try catch 是语法层面上的异常处理。在不同平台下处理机制是不同的。

    如果你想要那种可以修改并且重试的异常处理,以Windows平台为例,你得使用SEH异常处理。

    你可以百度一下SEH异常处理。这种异常处理,除了常规的异常处理功能外,可以实现对异常的过滤,甚至修正某些数据后重新执行抛出异常的代码,这种功能比较好,很多时候可以提高效率。比如,要开发一个Excel表格程序,你可以先假定用户访问的单元格是分配了内存的,这样,当程序访问到没有分配内存的单元格时,会引发异常,然后你捕捉这个异常,判断是不是因为内存未分配导致的,然后你给他分配好内存,再让他重新执行。。。但是,SEH是Windows系统提供的异常机制,与语言无关,在其他平台无效。

    还有-5条回复,点击查看
    你还没有登录,请先登录或注册!
  • sdhexu • 2017-08-10

    try catch 是语法层面上的异常处理。在不同平台下处理机制是不同的。

    如果你想要那种可以修改并且重试的异常处理,以Windows平台为例,你得使用SEH异常处理。

    你可以百度一下SEH异常处理。这种异常处理,除了常规的异常处理功能外,可以实现对异常的过滤,甚至修正某些数据后重新执行抛出异常的代码,这种功能比较好,很多时候可以提高效率。比如,要开发一个Excel表格程序,你可以先假定用户访问的单元格是分配了内存的,这样,当程序访问到没有分配内存的单元格时,会引发异常,然后你捕捉这个异常,判断是不是因为内存未分配导致的,然后你给他分配好内存,再让他重新执行。。。但是,SEH是Windows系统提供的异常机制,与语言无关,在其他平台无效。

    还有-5条回复,点击查看
    你还没有登录,请先登录或注册!
  • siki • 2017-08-10

    ry catch finally本身的意思就是来捕捉和处理的,不是提醒 是处理的,可能出现异常的地方不处理,程序会直接崩溃退出,如果处理的,你可以给一个友情提示,比如让用户重试什么的,不会崩溃

    还有-5条回复,点击查看
    你还没有登录,请先登录或注册!
  • siki • 2017-08-10

    try catch finally 不是用来修改代码的

    还有-5条回复,点击查看
    你还没有登录,请先登录或注册!
发表回复
你还没有登录,请先 登录或 注册!