我有两个简单的方法:
public void proceedWhenError() {
Throwable exception = serviceUp();
if (exception == null) {
// do stuff
} else {
logger.debug("Exception happened, but it's alright.", exception)
// do stuff
}
}
public void doNotProceedWhenError() {
Throwable exception = serviceUp();
if (exception == null) {
// do stuff
} else {
// do stuff
throw new IllegalStateException("Oh, we cannot proceed. The service is not up.", exception)
}
}
Run Code Online (Sandbox Code Playgroud)
第三种方法是私有帮助方法:
private Throwable serviceUp() {
try {
service.connect();
return null;
catch(Exception e) { …Run Code Online (Sandbox Code Playgroud) java error-handling exception-handling anti-patterns exception
我来自Java世界,服务通常意味着无国籍.Angular2中的服务应该也是无状态的吗?或者我们可以简单地存储状态,因为我们不必像Java示例那样关心并发线程访问?
在AuthService类的https://angular.io/docs/ts/latest/guide/router.html#!#teach-authguard-to-authenticate中,存储状态.
它只是简化示例还是常见做法?我知道服务是实例化的,并且在声明它们的范围内存在,但这意味着我必须关心提供服务的位置以了解状态持续多长时间.