Alm*_*bek 2 flash try-catch actionscript-3 throw
在Flash AS3中,我想编写单个try catch块以捕获整个类中的任何错误.
例如,我在myClass.as中有很多函数.我不想在每个函数中编写try catch块以便捕获此函数中的错误.
有没有办法做到这一点?
谢谢!
你不能!除了使用AOP方法做到这一点之外,即使在AS3之外的其他语言也没有这样简单的方法.
最好的做法是让你的类冒泡错误(异常)并让更高层捕获并处理错误.
编辑 - 关于coment
实际上这个想法是自然的方式..你还需要手动捕捉每一个可能的错误.我会举个例子.注意,该示例的目的仅在于较低层和较高层之间的清晰度.
例如,您在中间层(您的业务流程)中有一个类:
public class MyBussiness {
public function loadImages(){
//for example here is a block of method
//possibly throws exception.
}
public function getLoan(){
//lets assume here too
}
}
Run Code Online (Sandbox Code Playgroud)
在更高层(我假设在你的视图 - MXML中)你捕获异常如下:
var myBussiness:MyBussiness = new MyBussiness():
try {
myBussiness.loadImages();
//any other sequence process
myBussiness.getLoan();
}
catch(error:Error){
//here you process error
//show it to user or make LOG
}
Run Code Online (Sandbox Code Playgroud)
仍然不能像你期望的那样做出魔法,但这是最好的做法.Rember只将try catch放在有可能抛出错误的代码上,因为try catch很贵.
| 归档时间: |
|
| 查看次数: |
29268 次 |
| 最近记录: |