android studio try catch自动生成,Android Studio:Try-catch异常崩溃了应用程序
我正在测试代码中的一些漏洞,并尝试通过在用户输入无效时抛出异常来修复它们。现在当我实现try-catch并在我的手机上运行应用程序时,当我输入无效输入时它会崩溃。
我认为我的代码没有从addData方法中捕获异常。是否有另一种方法来实现异常,或者如何才能从addData方法中捕获异常?
package com.odisee.photoboothapp;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.RadioButton;
import android.widget.RadioGroup;
import android.widget.EditText;
import android.widget.Toast;
import com.odisee.photoboothapp.fontchanger.FontChangeTextView;
public class Form_Database extends AppCompatActivity {
DatabaseHelper myDb;
int selectedId;
RadioGroup test;
RadioButton editEducation;
EditText editName, editSurname, editEmail;
Button btnAddData;
@Override
protected void onCreate(Bundle savedInstanceState) throws IllegalArgumentException {
super.onCreate(savedInstanceState);
getSupportActionBar().hide();
setContentView(R.layout.activity_form__database);
myDb = new DatabaseHelper(this);
test = (RadioGroup)findViewById(R.id.radioButtonChoice);
editName = (EditText)findViewById(R.id.edit_Name);
editSurname = (EditText)findViewById(R.id.edit_Surname);
editEmail = (EditText)findViewById(R.id.edit_Email);
btnAddData = (Button)findViewById(R.id.btnSend);
try {
addData();
}
catch(IllegalArgumentException e) {
Toast.makeText(Form_Database.this,"Data not inserted" + e.getMessage(),Toast.LENGTH_LONG).show();
}
}
public void addData() {
btnAddData.setOnClickListener(
new View.OnClickListener() {
@Override
public void onClick(View v) {
if(editName.getText().toString().contains("DROP")) {
throw new IllegalArgumentException("SQL Exceptie!");
}
else {
selectedId = test.getCheckedRadioButtonId();
editEducation = (RadioButton)findViewById(selectedId);
boolean isInserted = myDb.insertData(editName.getText().toString(), editSurname.getText().toString(), editEmail.getText().toString(), editEducation.getText().toString());
sendEmail();
if(isInserted == true) {
Toast.makeText(Form_Database.this,"Data inserted",Toast.LENGTH_LONG).show();
}
else {
Toast.makeText(Form_Database.this,"Data not inserted",Toast.LENGTH_LONG).show();
}
}
}
}
);
}
public void sendEmail() {
//Getting content for email
String email = editEmail.getText().toString();
String subject = "testberichtje voor lorenzo";
String message = "testberichtje voor lorenzo";
//Creating SendMail object
SendMail sm = new SendMail(this, email, subject, message);
//Executing sendmail to send email
sm.execute();
}
}
05-01 17:58:17.021 30232-30232 / com.odisee.photoboothapp E / AndroidRuntime:FATAL EXCEPTION:main
过程:com.odisee.photoboothapp,PID:30232
java.lang.IllegalArgumentException:SQL Exceptie!
在com.odisee.photoboothapp.Form_Database $ 1.onClick(Form_Database.java:55)
在android.view.View.performClick(View.java:5697)
在android.widget.TextView.performClick(TextView.java:10826)
在android.view.View $ PerformClick.run(View.java:22526)
在android.os.Handler.handleCallback(Handler.java:739)
在android.os.Handler.dispatchMessage(Handler.java:95)
在android.os.Looper.loop(Looper.java:158)
在android.app.ActivityThread.main(ActivityThread.java:7224)
at java.lang.reflect.Method.invoke(Native Method)
在com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:1230)
在com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1120)
android studio try catch自动生成,Android Studio:Try-catch异常崩溃了应用程序相关推荐
- android 默认dimens_Android开发——自动生成Android屏幕适配的dimens.xml文件
使用dimens.xml解决屏幕适配问题是Android官方解决方案,本文主要讲述了如何自动生成Android屏幕适配的dimens.xml,减少了工作量,在维护dimens.xml文件时更加省时省力 ...
- Android Studio的res自动生成的文件出错了_莫韵乐与bug的奇妙冒险
Android Studio的res自动生成的文件出错了_莫韵乐与bug的奇妙冒险 无论学什么编程语言都要跟奇怪的bug过不去 奇怪的bug出现了 今天满怀欣喜地进行安卓开发学习,创建好一个新的项目之 ...
- BuildIt: Visual Studio .NET 的自动生成工具
为什么80%的码农都做不了架构师?>>> 用 Visual Studio.NET 和 Visual SourceSafe 进行团队开发 http://msdn.microsof ...
- 自定义Android注解Part2:代码自动生成
上一期我们已经把butterknife-annotations中的注解变量都已经定义好了,分别为BindView.OnClick与Keep. 如果你是第一次进入本系列文章,强烈推荐跳到文章末尾查看上篇 ...
- 使用Visual Studio宏来自动生成代码 [ Visual Studio | 宏 | 自动生成代码 ]
前言 宏的定义:是组合到一起形成一个命令以自动完成某项任务的一系列命令和指令.(MSDN) 在使用Visual Studio宏实现JS折叠功能的时候就想过用它来实现代码自动生成,有了前面的基础,实现起 ...
- 自动生成Android界面,面向Android的Web Service界面自动生成技术研究
摘要: 据统计,开发人员在开发应用程序的过程中,接近一半的代码用于用户界面部分,大约一半的运行时间用于执行这一部分.所以,减少用户界面部分的开发代码和运行时间,能有效提高程序的运行效率.智能家居中,由 ...
- Microsoft Visual Studio Learning Pack 自动生成流程图插件(转)
最近写文档,要贴流程图,自己画太烦,就到网上去找自动生成流程图的软件,结果知道了这个叫 Microsoft Visual Studio Learning Pack 的插件,用它来生成函数的流程图,感觉 ...
- android生成大分辨率图片,自动生成Android不同分辨率下的图片
转自: http://blog..net/offbye/article/details/50012605 Android屏幕分辨率适配的图标处理比较麻烦,让UI做不同尺寸的图片也挺浪费时间的,并且容易 ...
- 基于OpenAPI Specification自动生成Android客户端代码
OpenAPI Specification(OAS) 无论你从事前端开发还是后端开发,或多或少都听说过Swagger. Swagger Specification 是一种 API Specificat ...
最新文章
- 美国政府机构成为接受比特币和比特现金支付税金的政府机构
- 会话管理隐患与防御 总结
- TestInside640-801 v11(神州testv11)题库视频讲解(全部上传完毕)
- matlab红字怎么删除,购买方开具红字信息表如何作账务?
- Linux 信号量 源码,一文读懂go中semaphore(信号量)源码
- Swagger 注解~用于方法
- JSP、Servlet中get请求和post请求的区别总结
- 使用php递归计算目录大小
- Ovito中多晶材料晶粒分析方法介绍
- 纯手工获取的WINDOWS 7 32位 SP1后续补丁集ver201509的官方下载地址
- 前端Echarts数据可视化
- div两侧的boder断开 消失 奇怪
- 加州大学洛杉玑分校计算机专业,加州大学洛杉矶分校计算机科学世界排名2019年最新排名第12(THE世界排名)...
- 【滴滴拉屎】一款能按照坑型找厕所的神器!
- 8255芯片控制发光二极管模拟步进电机汇编实验
- 中国十大电子商务网站排名揭晓
- KKT条件的物理意义(转)
- JS_Gallary
- 机器学习作业-交通流量预测综述
- Base64 混淆加密+迭代次数,Base64前后端加解密不一致、Base64 js加解密结果与java加解密结果不一致,Base64中文加密乱码