查看: 1195|回复: 0

[分享] GeneXus程序中如何捕获异常?

[复制链接]

8

主题

11

帖子

150

积分

注册会员

Rank: 2

积分
150
QQ
发表于 2019-7-30 09:43:23 | 显示全部楼层 |阅读模式
我们区分两种情况:数据库异常(database error)程序运行异常(runtime error)
1、geneXus中为database操作定义了相应的错误代码,编写了相应的异常捕获和错误处理程序
可以参考
          Error_Handler Command
          Error_Handler Rule
         
2、对于组件或者程序库在运行时产生的错误,系统环境(操作系统、Webserver等等)已经能够捕获和处理这些异常了,geneXus没有必要再去编写代码去捕获这些异常。
在早期使用C/C++编程的年代,一个毫不起眼的错误都会导致系统崩溃(想想看以前Windows系统的蓝屏),但是现在系统已经不会再因为这些异常而导致崩溃了,例如web即使出现系统调用错误顶多就是出现个404错误,也不会导致浏览器崩溃。
因此,在程序运行时系统环境已经开启了监听机制来定位和抛出异常信息,在geneXus内部再编写try/catch这种捕获异常的代码,反而会使得程序变得难以忍受的复杂,也给程序运行加重负担。

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|GeneXus中国技术论坛

GMT+8, 2021-3-9 05:30 , Processed in 0.102223 second(s), 62 queries .

 

© 2019 GeneXus中国技术论坛

快速回复 返回顶部 返回列表