どのコマンドが例外を発生させたかを正確にキャッチして例外を出力することは可能でしょうか。すべてのコマンドをセラウンド化するか、例外を部分に分割すれば、それができることはわかっています。しかし、1 つの大きな try/catch を作成して、例外の原因となった正確なコマンドを出力できるかどうか疑問に思っていました。
たとえば、これは私のコードの一部です:
try{
if(da.StartBlngConnection() == null)
return handler.generateUpdateStatusResponse(request, "got exception in npUpdateStatus" , "ERROR", "6084");
System.out.println(request.getNpgRequestId() + " - " + LOG_TAG + "- RequestReceived:\n\n" + requestWrapper.toString());
da.DBLog("npUpdateStatus(Requst)", new Date(), requestWrapper.toString(), request.getNpgRequestId() , request.getOldOperator(), request.getNewOperator(), "" ,"", "");
response = handler.handleUpdateStatus(request);
responseWrapper = new com.tzar.wrappers.UpdateStatusResponseWrapper(response);
da.DBLog("npUpdateStatus(Response)", new Date(), responseWrapper.toString(), request.getNpgRequestId() , request.getOldOperator(), request.getNewOperator(), response.getMessageStatus().getRequestStatus() + " :" + response.getMessageStatus().getRequestReasonMessage(), "", ""); //
return response;
}
catch(Exception e){
System.out.println( request.getNpgRequestId() + " - " + LOG_TAG +" GotException: " + e);
da.DBLog("npUpdateStatus(Exception)", new Date(), requestWrapper.toString(), request.getNpgRequestId() , request.getOldOperator(), request.getNewOperator(), MakeSureNotOutOfRange(e.toString(),4000) ,"", "");
return handler.generateUpdateStatusResponse(request, "got exception in npUpdateStatus" , "ERROR", "");
}
null ポインター例外が発生しましたが、どこで発生したかを確認するためにデバッグする必要がありました。発生した場所を正確に指摘したいと考えています。
タイ