android空异常处理,java – 正确的方式来处理Android Studio的NullPointerException lint警告...

本文探讨了在Android应用开发中如何避免使用断言和throw NullPointerException,提倡检查变量是否为null,并建议在遇到searchView缺失时采取合适的策略,如记录问题或尽早抛出IllegalStateException。作者强调了早犯错早检测的重要性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

我怀疑这个问题可以结论性地回答,因为这是一个意见的问题。或者至少我相信 – 一个意见。 🙂

我明白你想要“0警告”(一个非常值得称道的目标),但可能没有一个“一刀切”的问题。那说…

我相信你不应该做的事情:

>使用断言。虽然你可以添加一个assert语句,Dalvik忽略它们。您可以配置仿真器,以便在需要时使用仿真器,但不能使用真实设备(参见Can I use assert on Android devices?)。所以虽然它可能会删除警告,但在实践中没有用。

>有方法throw NullPointerException。这将是一个坏主意,一般。在这种情况下,由于你可能覆盖onOptionsItemSelected(),甚至不可能。

检查(variable!= null)通常是最好的方法。但如果它是,做什么,虽然,提出一些其他选择。

>如果这是一个问题,你可以恢复,即,你可以继续应用程序,即使searchView不在那里,只是这样做。例如,只是从方法返回。记录这种情况是一个好主意,所以你可以在测试时发现它。

>否则,如果继续不可能,抛出异常。你想要fail early,这样可以很容易地检测到问题。这种情况下的一个合理的例外是IllegalStateException(见Java equivalent to .NET System.InvalidOperationException)。它基本上表明该方法在不适当的时间执行。但要小心,作为RuntimeException,这些异常未被选中,因此可能会导致应用程序崩溃。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值