zoukankan      html  css  js  c++  java
  • java android 捕获未处理异常

    1. 定义一个异常处理类

    public class ExceptionHandler implements Thread.UncaughtExceptionHandler {
    
        public ExceptionHandler()
        {
            Thread.setDefaultUncaughtExceptionHandler(this);
        }
        
        @Override
        public void uncaughtException(Thread thread, Throwable ex) {
            final StringWriter sw = new StringWriter();
            final PrintWriter pw = new PrintWriter(sw, true);
            ex.printStackTrace(pw);
            String errMsg = sw.getBuffer().toString();
            Log.d("未捕获的错误:", errMsg);
            System.out.println(errMsg);
        }
        
    }

    2. 定义一个App启动程序类,在onCreate方法中注册异常处理类,并在 AndroidManifest.xml 中注册启动程序类。

    import android.app.Application;
    
    public class MyApp extends Application {
        @Override
        public void onCreate() {
            super.onCreate();
            new ExceptionHandler();
        }
    }
    <application
        android:name=".MyApp" ... />

    3.手动引发一个异常以测试我们的程序。

    import android.app.Activity;
    import android.os.Bundle;
    import android.view.Menu;
    import android.view.MenuItem;
    
    public class MainActivity extends Activity {
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
            int a = 1;
            int b = 0;
            int c = a/b;
            System.out.println(c);
        }
    }
  • 相关阅读:
    合并字符串中的多个空格
    IfcSpecularRoughness
    IfcSpecularExponent
    IfcPresentableText
    IfcFontWeight
    IfcFontVariant
    uwb ifc模型定位測試
    IfcFontStyle
    IfcGeometricModelResource
    qt6安装
  • 原文地址:https://www.cnblogs.com/nanfei/p/8352177.html
Copyright © 2011-2022 走看看