Android捕捉错误try catch 的简单使用教程

基本语法

try{
	//可能发生错误的程式码
}catch(具体错误 e){
	//具体错误有就写,没有就不写,有多个,就写多个catch
	e.printStackTrace(); //在命令行打印错误信息
}catch(Exception e){
	log(e.toString());
}finally{
	//无论是否捕捉到错误,一定会执行的代码
}

注意事项

  • 一般设定 catch 取得错误时应由小范围到大范围,即先具体错误,最后利用 Exception 处理所有其他错误
  • finally 语句是一定会执行的程式段,一般用来删除物件或关闭档案等
  • 参数 err 可以取得错误信息,一般使用 err.toString() 显示

ps:try 与catch的作用

首先要清楚,如果没有try的话,出现异常会导致程序崩溃。
而try则可以保证程序的正常运行下去,比如说: 

try{
  int i = 1/0;
}catch(Exception e){
 e.printStackTrace();
}

  一个计算的话,如果除数为0,则会报错,如果没有try的话,程序直接崩溃。用try的话,则可以让程序运行下去,并且输出为什么出错!
try的话,配合log4j使用会对程序的日后维护帮助很大。

那么e.printStackTrace();是什么意思?

 当try语句中出现异常是时,会执行catch中的语句,java运行时系统会自动将catch括号中的Exception e 初始化,也就是实例化Exception类型的对象。e是此对象引用名称。然后e(引用)会自动调用Exception类中指定的方法,也就出现了e.printStackTrace();。
printStackTrace()方法的意思是:在命令行打印异常信息在程序中出错的位置及原因。(这是白话解释,比较容易理解)

try{
//代码区
}catch(Exception e){
//异常处理
}

代码区如果有错误,就会返回所写异常的处理。

到此这篇关于Android捕捉错误try catch 的简单使用的文章就介绍到这了,更多相关Android捕捉错误try catch 内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • Android解决dialog弹出时无法捕捉Activity的back事件的方法

    本文实例讲述了Android解决dialog弹出时无法捕捉Activity的back事件的方法.分享给大家供大家参考.具体分析如下: 在一些情况下,我们需要捕捉back键事件,然后在捕捉到的事件里写入我们需要进行的处理,通常可以采用下面三种办法捕捉到back事件: 1)重写onKeyDown或者onKeyUp方法 2)重写onBackPressed方法 3)重写dispatchKeyEvent方法 这三种办法有什么区别在这里不进行阐述,有兴趣的朋友可以查阅相关资料. 然而在有dialog弹出时,

  • Android 解决dialog弹出时无法捕捉Activity的back事件问题

    Android 如何解决dialog弹出时无法捕捉Activity的back事件 在一些情况下,我们需要捕捉back键事件,然后在捕捉到的事件里写入我们需要进行的处理,通常可以采用下面三种办法捕捉到back事件: 1)重写onKeyDown或者onKeyUp方法 2)重写onBackPressed方法 3)重写dispatchKeyEvent方法 这三种办法有什么区别在这里不进行阐述,有兴趣的朋友可以查阅相关资料. 然而在有dialog弹出时,想捕捉back键的事件的话,上述三种办法都无法实现.

  • Android Studio中快捷键实现try catch等功能包含代码块的实现方法

     Android Studio中快捷键实现try catch等功能包含代码块 1.windows系统下,只需选中需包含的代码块,按快捷键Ctry+Alt+T即可: 2.Ubuntu下由于快捷键已经被占用,故需要自行重新设定,设定过程如下: 点击file--->setting--->keymap 在右侧搜索栏中搜索surround,选中Surround With...,先点击右键,选择Remove Ctrl+Alt+T,然后再设置可行的快捷键即可. 如有疑问请留言或者到本站社区交流讨论,感谢阅读

  • Android中捕捉menu按键点击事件的方法

    本文实例讲述了Android中捕捉menu按键点击事件的方法.分享给大家供大家参考.具体如下: @Override public boolean onCreateOptionsMenu(Menu menu) { /* * add()方法的四个参数,依次是: 1.组别,如果不分组的话就写Menu.NONE, * 2.Id,这个很重要,Android根据这个Id来确定不同的菜单 3.顺序,那个菜单现在在前面由这个参数的大小决定 * 4.文本,菜单的显示文本 */ menu.add(Menu.NONE

  • 在Unity中捕捉Android的常用按钮返回事件

    在Unity开发中捕捉Android的常用事件其实很简单 Input.GetKey(KeyCode.Escape) Input.GetKeyDown(KeyCode.Home) // 返回键 if ( Application.platform == RuntimePlatform.Android &&(Input.GetKeyDown(KeyCode.Escape))) { //.... } // Home键 if ( Application.platform == RuntimePlat

  • android 捕捉异常并上传至服务器的简单实现

    在项目中,我们的应用经常会遇到崩溃的情况,如果你的项目已经发送到了应用市场上,那么应用发生的崩溃开发人员是开不到的,所以我们要想办法将异常信息传到服务器上,便于开发人员查看并作出修改.Google考虑到这一点,也提供了Thread.UncaughtExceptionHandler接口来实现这一问题. 创建Crash异常捕获很简单,主要的步骤有: 1.创建BaseApplication继承Application并实现Thread.UncaughtExceptionHandler 2.通过Threa

  • Android捕捉错误try catch 的简单使用教程

    基本语法 try{ //可能发生错误的程式码 }catch(具体错误 e){ //具体错误有就写,没有就不写,有多个,就写多个catch e.printStackTrace(); //在命令行打印错误信息 }catch(Exception e){ log(e.toString()); }finally{ //无论是否捕捉到错误,一定会执行的代码 } 注意事项 一般设定 catch 取得错误时应由小范围到大范围,即先具体错误,最后利用 Exception 处理所有其他错误 finally 语句是一

  • 在Android Studio中Parcelable插件的简单使用教程

    在Android Studio中,你可以很快速的使用Parcelable插件进行实体类的序列化的实现,使用该插件后,你的实体类可以快速的实现Parcelable接口而不用写额外的代码.因为该插件会帮你快速的生成必须提供的方法,可以说是很高效率的了. 首先需要下载该插件: 在File->Setting->Plugins里的搜索框内输入内容:android parcelable code generator,然后自己下载好重启studio即可使用该插件了. 下载插件界面: 重启studio: 点击

  • Android基础入门之dataBinding的简单使用教程

    目录 前言 1.前期准备 1.1打开dataBinding 1.2修改布局文件 1.3修改Activity方法 2.DataBinding的使用 2.1属性更新 2.2<data>标签 2.2.1简单数据的定义与绑定 2.2.2复杂数据的定义与绑定 2.3事件绑定 2.3.1点击事件绑定 2.3.2点击事件回传数据 2.3.3动态改变对象数据在控件上显示 2.3.4动态改变基本数据在控件上显示 2.4与输入控件结合 2.5与图片控件结合 总结 前言 dataBinding是实现 view 和

  • Android AOP 注解详解及简单使用实例(三)

    Android  注解 相关文章: Android AOP注解Annotation详解(一) Android AOP之注解处理解释器详解(二) Android AOP 注解详解及简单使用实例(三) 一.简介 在Android 里面 注解主要用来干这么几件事: 和编译器一起给你一些提示警告信息. 配合一些ide 可以更加方便快捷 安全有效的编写Java代码.谷歌出的support-annotations这个库 就是主要干这个的. 和反射一起 提供一些类似于spring 可配置的功能,方便简洁. 二

  • Android数据加密之Rsa加密的简单实现

    最近无意中和同事交流数据安全传输的问题,想起自己曾经使用过的Rsa非对称加密算法,闲下来总结一下. 什么是Rsa加密? RSA算法是最流行的公钥密码算法,使用长度可以变化的密钥.RSA是第一个既能用于数据加密也能用于数字签名的算法. RSA算法原理如下: 1.随机选择两个大质数p和q,p不等于q,计算N=pq: 2.选择一个大于1小于N的自然数e,e必须与(p-1)(q-1)互素. 3.用公式计算出d:d×e = 1 (mod (p-1)(q-1)) . 4.销毁p和q. 最终得到的N和e就是"

  • Android开发之android_gps定位服务简单实现

    前言 gps定位服务的学习是这段时间gps课程的学习内容,之前老师一直在将概念,今天终于是实践课(其实就是给了一个案例,让自己照着敲).不过在照着案列敲了两遍之后,发现老师的案例是在是太老了,并且直接照着案例敲,也无法理解其中很多类,方法的作用. 于是自己在网上查看了其他实现的方法,并尝试敲案列,期间的挫折一言难尽. (网上找的案例也并不信息,使得我在给予权限,和权限检查方面一直报错,因为我使用的是最新的As和java11,在经过数遍从基础理解到实例编写的过程和不知多少遍google之后,终于完

  • android studio错误: 常量字符串过长的解决方式

    android studio 错误: 常量字符串过长错误 省市区三级联动,位置字符串. 这样不行 改用json方案 ,读取array中文件 String provsData = new GetJsonDataUtil().getJson(activity, "provsData.json");//获取assets目录下的json文件数据 String distsData = new GetJsonDataUtil().getJson(activity, "distsData.

  • Android 利用反射+try catch实现sdk按需引入依赖库的方法

    Android开发sdk过程中,很有可能在sdk内部引入其他的三方sdk库.比如开发sdk过程中可能同时包含Google和Facebook等SDK.但是接入方如果只想要接入包含Google登录的SDK要怎么办呢,gradle想只依赖Google的库不依赖Facebook可以实现吗?本文简单利用反射+try catch即可实现按需接入,无需再新建module和考虑代码分离的问题. 在自己SDK代码中使用三方sdk的地方做如下处理: 原代码: Intent googleSignInIntent =

  • Javascript中async与await的捕捉错误详解

    目录 async与await捕捉错误 正常的输出时 trycatch捕捉错误 多个异步嵌套时 await-to-js 异步嵌套使用了try,代码相对不够智能 总结 async与await捕捉错误 正常的输出时 <template> <div class="hello"> </div> </template> <script> export default { name: 'HelloWorld', created() { th

  • Android基于广播事件机制实现简单定时提醒功能代码

    本文实例讲述了Android基于广播事件机制实现简单定时提醒功能代码.分享给大家供大家参考,具体如下: 1.Android广播事件机制 Android的广播事件处理类似于普通的事件处理.不同之处在于,后者是靠点击按钮这样的组件行为来触发,而前者是通过构建Intent对象,使用sentBroadcast()方法来发起一个系统级别的事件广播来传递信息.广播事件的接收是通过定义一个继承Broadcast Receiver的类实现的,继承该类后覆盖其onReceive()方法,在该方法中响应事件.And

随机推荐