1
我有以下代碼:的Restlet,不能處理ConnectionException
private Job[] synchro(URI u) {
try{
Client client = new Client(new Context(),Protocol.HTTP);
Reference samplesUri = new Reference(u+"/synchrojobs/");
ClientResource cr = new ClientResource(client.getContext(),Method.POST,samplesUri);
cr.setChallengeResponse(ChallengeScheme.HTTP_BASIC, "xxx", "uxxx");
Job[] back = persistence.all().toArray(new Job[persistence.all().size()]);
for(Job trace : back){
logger.debug(String.format("Sending synchro for %s status:%s time:%s",trace.getId().toString(),trace.getStatus(),trace.getLastStatusChangeDate().toString()));
}
Representation res = cr.post(new JacksonRepresentation<Job[]>(back));
Job[] result = this.mapper.readValue(res.getStream(),Job[].class);
cr.release();
res.release();
logger.info(String.format("Found %s jobs from %s",result.length,u));
return result;
}catch(Exception e){
logger.error("Error synchronizing jobs:"+e.getMessage());
return new Job[0];
}
}
如果對方不接,將引發異常,但在我的塊沒有被捕獲,它彈出外,爲什麼這可能發生?