zoukankan      html  css  js  c++  java
  • e1084. 捕获错误和异常

    All errors and exceptions extend from Throwable. By catching Throwable, it is possible to handle all unexpected conditions.

    There are several scenarios where it is good practice to catch Throwable. For example, in a server application, the threads that handle requests should catch Throwable and relay any errors or exceptions to the client. Another scenario is a long-running thread that performs some background activity. Such threads should catch Throwable, log any errors or exceptions, and then continue functioning.

    It is rarely good practice for a method in a library to catch Throwable. In general, errors and exceptions should not be masked from the caller.

    This example demonstrates a long-running thread that catches Throwable and logs the exception.

        class BgThread extends Thread {
            // Create a logger. For more information on the logging api's,
            // see e385 一个精简的日志记录程序
            Logger logger = Logger.getLogger("com.mycompany.mypackage");
        
            BgThread() {
                // As a daemon thread, this thread won't prevent the application from exiting
                setDaemon(true);
            }
        
            // Set to true to shut down this thread
            boolean stop = false;
        
            public void run() {
                while (!stop) {
                    try {
                        // Perform work here
                    } catch (Throwable t) {
                        // Log the exception and continue
                        logger.log(Level.SEVERE, "Unexception exception", t);
                    }
                }
            }
        }
    
  • 相关阅读:
    Puppet部署
    ldap命令
    openldap slapd.conf参数
    ldap objectclass
    ldap 测试表设计
    Nginx/LVS/HAProxy负载均衡软件的优缺点
    SNAT DNAT MASQUERADE 区别
    iptables常用规则
    Python中文注释报错的解决方法
    用Node.js给邮箱发送邮件
  • 原文地址:https://www.cnblogs.com/borter/p/9575280.html
Copyright © 2011-2022 走看看