文档章节

捕获异常,保障程序不报错正常执行

爱运动的小乌龟
 爱运动的小乌龟
发布于 2017/05/23 23:40
字数 360
阅读 3
收藏 0

最近由于经常在solr里面查询并将查询结果导出到文档里面,而我们的solr每个分片只有一个备份,就出现一个问题,当正在查询的数据在某个分片上时,而这个分片此时有处于no live状态,我们的查询程序就会报异常(no live),导致程序停止查询,然而我们并不想因为这个异常导致我们的查询程序停止,于是我就采用了下面这个办法,使用try-catch对抛出的异常进行捕获,捕获异常后,在catch中我们只抛出一个提示信息,在提示信息后面紧接着休眠一段时间,然后再次调用这个查询服务,就能保障查询不会停止了。

根据介绍的原理,下面给出一个简单测试例子:

package TestLog;

import java.util.ArrayList;

public class TestTryCatch {
    public static void main(String[] args) {
        test();
    }
    
    public static void test(){
        try {
            
            ArrayList<String> lists = new ArrayList<String>();
        for(int i=0;i<5;i++){
            String str="test+"+i;
            lists.add(str);
        }
        
        for (int i = 0; i <20; i++) {
            System.out.println(lists.get(i));
        }
        } catch (Exception e) {
            // TODO: handle exception
            //正常情况下,到这里应该报空指针异常,终止程序的执行,但是了保障程序能正常执行,这里重新调用我们的程序。回到程序继续执行。
            System.out.println("异常暂不抛出,继续执行。");
            test();
        }
        
    }

}
 

© 著作权归作者所有

共有 人打赏支持
爱运动的小乌龟
粉丝 2
博文 146
码字总数 41387
作品 0
朝阳
day20(异常处理及python其他)

异常 异常就是程序运行错误或者逻辑混乱。不能让用户看到直接代码的报错,需要给客户友好的提示。 异常一般是程序中无法完全避免,一般通过一定的手段,尽量减少异常的发生。提高代码的健壮性...

冰封心动
2017/11/18
0
0
小朋友学Python(19):异常

一、什么是异常 异常即是一个事件,该事件会在程序执行过程中发生,影响了程序的正常执行。 一般情况下,在Python无法正常处理程序时就会发生一个异常。 异常是Python对象,表示一个错误。 ...

翡翠森林Z
01/14
0
0
NDK开发---C++学习(七):异常

前言 C++的异常处理机制能够将异常检测与异常处理分离开来,当异常发生时,它能自动调用异常处理程序进行错误处理。把错误处理代码独立出来的异常处理机制增加了程序的清晰性和可维护性,使程...

浮生若梦zp
2017/12/01
0
0
Java的异常处理机制

参考文献:Java Platform Standard Edition 6 API 规范 Throwale Throwable 类是 Java 语言中所有错误或异常的超类。只有当对象是此类(或其子类之一)的实例时,才能通过 Java 虚拟机或者 ...

吴七禁
2017/12/04
0
0
异常处理

抛出异常 异常处理使得程序可以处理非预期的情景,并且能够继续正常的操作 在java中,运行时错误会作为异常抛出。异常就是一种对象,表示阻止正常进行程序执行的错误或者情况。 异常是从方法...

承思
2017/10/11
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

git +STS使用问题解决一

1. 2.点以一个pull就是更新代码 3.synchronize workSpace 同步代码,同SVN一致

森火
3分钟前
0
0
powerBi odbc 连接impala 实现自助分析

配置Impala以使用ODBC 可以将第三方产品设计为使用ODBC与Impala集成。为获得最佳体验,请确保支持您打算使用的任何第三方产品。验证支持包括检查Impala,ODBC,操作系统和第三方产品的版本是...

hblt-j
8分钟前
0
0
Purism FAQ

<font size="37" color="#006248" face="幼圆"> <p align="center"> Purism FAQ </p> </font> 原文:https://puri.sm/faq/ 原作者:Purism Team 翻译者:冰焰火灵X 1079092922@qq.com 文章许......

ICE冰焰火灵X
23分钟前
0
0
nginx+webdav

1、配置Nginx以支持WebDav: Webdav是nginx一个组件,默认编译nginx时是没有安装这个组件的。 如果跟应用公用一个nginx,需要重新编译安装nginx,重新安装前需要备份好原来的nginx.conf。 1....

yaukie
29分钟前
0
0
spring 事件

ContextRefreshedEvent Event raised when an {@code ApplicationContext} gets initialized or refreshed. ContextClosedEvent Event raised when an {@code ApplicationContext} gets clos......

Canaan_
40分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部