我以为try是对一个可以能出现异常的代码进行判断,并且在catch代码块中进行修改。
为什么这个是一个异常,但是没有修改只是进行了输出。 那这样子有什么用呢?
是不是try catch finally本身的意思就是来捕捉和提醒的,不是来进行修改的呢?
try catch 是语法层面上的异常处理。在不同平台下处理机制是不同的。
如果你想要那种可以修改并且重试的异常处理,以Windows平台为例,你得使用SEH异常处理。
你可以百度一下SEH异常处理。这种异常处理,除了常规的异常处理功能外,可以实现对异常的过滤,甚至修正某些数据后重新执行抛出异常的代码,这种功能比较好,很多时候可以提高效率。比如,要开发一个Excel表格程序,你可以先假定用户访问的单元格是分配了内存的,这样,当程序访问到没有分配内存的单元格时,会引发异常,然后你捕捉这个异常,判断是不是因为内存未分配导致的,然后你给他分配好内存,再让他重新执行。。。但是,SEH是Windows系统提供的异常机制,与语言无关,在其他平台无效。
try catch 是语法层面上的异常处理。在不同平台下处理机制是不同的。
如果你想要那种可以修改并且重试的异常处理,以Windows平台为例,你得使用SEH异常处理。
你可以百度一下SEH异常处理。这种异常处理,除了常规的异常处理功能外,可以实现对异常的过滤,甚至修正某些数据后重新执行抛出异常的代码,这种功能比较好,很多时候可以提高效率。比如,要开发一个Excel表格程序,你可以先假定用户访问的单元格是分配了内存的,这样,当程序访问到没有分配内存的单元格时,会引发异常,然后你捕捉这个异常,判断是不是因为内存未分配导致的,然后你给他分配好内存,再让他重新执行。。。但是,SEH是Windows系统提供的异常机制,与语言无关,在其他平台无效。