要使用多种方法,我必须多次使用相同的检查异常catch(请参阅Java:checked vs uncheckedexception解释)。结果是重复的代码行。我想要某种减少重复异常的方法,catch以减少代码行数。
什么是减少重复catch节的数量并减少代码行的好方法?有什么方法可以catch在另一个文件中写入该操作并明确使用它?
基本上,我想减少行数,并使代码更简洁,更易于阅读。
这是我的代码示例:
@RequestMapping(value="")
public @ResponseBody Response addMultiple(){
if() {
try {
data = new weight();
}
catch( AmazonServiceException se ){
response = x;
}
catch (AmazonClientException ce) {
response = y;
}
catch(JsonProcessingException je) {
response = z;
}
}
@RequestMapping(value="")
public @ResponseBody Response addMultiple2(){
if() {
try {
data = new height();
}
catch( AmazonServiceException se ){
response = x;
}
catch (AmazonClientException ce) {
response = y;
}
catch(JsonProcessingException je) {
response = z;
}
}
@RequestMapping(value="")
public @ResponseBody Response addMultiple3(){
if() {
try {
data = new age();
}
catch( AmazonServiceException se ){
response = x;
}
catch (AmazonClientException ce) {
response = y;
}
catch(JsonProcessingException je) {
response = z;
}
}
Run Code Online (Sandbox Code Playgroud)
我想一次声明该异常捕获操作,并想多次调用它。
我正在使用Spring框架。
如果你想处理这些异常并采取一些操作,你可以在 Spring 中编写一个自定义异常处理程序,如果发生任何异常,处理程序将执行,你也可以省略这些try-catch块。
@ExceptionHandler({ Exception.class }) //narrow it to the exception you need
public ModelAndView globalExceptionHandler(Exception e) {
return new ModelAndView("error");
}
Run Code Online (Sandbox Code Playgroud)
否则,在您的方法中捕获Exception并编写一个处理程序方法来在 catch 块中处理它。
更改 catch 块
catch( Exception e ){
handleException(e);
}
Run Code Online (Sandbox Code Playgroud)
和下面的处理程序
private Response handleException(Exception e){
if(e instanceof E1){
}else if(e instanceof E2){
}
.
.
.
return response;
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2222 次 |
| 最近记录: |