android – Try-Catch:保留带有处理异常的应用程序是否可以?
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了android – Try-Catch:保留带有处理异常的应用程序是否可以?,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1944字,纯文字阅读大概需要3分钟。
内容图文
我对编程还是比较陌生的,所以我从观察中学到了一些东西但却没有完全理解. Try-Catch就是其中之一.根据我的研究,try语句允许我定义要测试错误的代码块,catch语句允许我定义在try块中发生错误时要执行的代码块.
我明白了.我曾尝试在我收到崩溃我的应用程序的异常错误的情况下使用Try-Catch. Try-Catch似乎阻止(停止)崩溃.但这是我的问题,是否可以让应用程序不断捕获异常错误?
例如,我正在使用EditText小部件.我希望EditText的输入值代表货币,所以我应用了android:inputType =“numberDecimal”.我从中学到的问题是该属性允许小数点后的任意数量的值.这是当我提出使用DecimalFormat之类的东西以正确的格式以编程方式更新EditText的想法.
我没有发布我的整个代码,但这是我很好奇的部分.
@Override
public void onTextChanged(CharSequence s, int start, int before,
int count) {
// TODO Auto-generated method stub
DecimalFormat format = new DecimalFormat("0.00");
if (etBill.getText().toString() != null &&
etBill.getText().toString().length() > 0) {
try {
doubleBill = Double.parseDouble(etBill.getText().toString());
strFormatted = format.format(doubleBill);
Log.d(TAG, "unformatted(" + doubleBill + ")" +
" // formatted(" + strFormatted + ")");
//etBill.setText("$" + strFormatted, TextView.BufferType.EDITABLE);
etBill.setText("$" + strFormatted);
} catch (NumberFormatException nfe) {
Log.e(TAG, "FloatingPointParser.parseDouble error");
}
} else {
// values in editText were deleted; hardcode value
doubleBill = 0.0;
strFormatted = format.format(doubleBill);
}
}
这是我每次在EditText小部件中输入值时捕获的异常错误.
所以我的问题是,Try-Catch是一种让我纠正错误的方法吗?是否可以捕获异常错误,例如在运行的应用程序的生命周期中出现此NumberFormapException?我使用这个吗?提前致谢!
解决方法:
NumberFormatException是一个运行时异常,您正在捕获它.但是,您应该通过重新运行代码或将异常传递到堆栈来处理它,而不是仅打印某些东西以让您知道它已经捕获了它.例如,如果用户输入数字然后捕获此异常,则可以提示他们重新输入新号码.如果抛出此异常的数字不是由用户提供的,而是由您的代码提供的,那么它表示您在某处有逻辑错误,应该修复它以防止首先抛出此异常.
内容总结
以上是互联网集市为您收集整理的android – Try-Catch:保留带有处理异常的应用程序是否可以?全部内容,希望文章能够帮你解决android – Try-Catch:保留带有处理异常的应用程序是否可以?所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。