gpt4 book ai didi

java - getView() 不能抛出异常

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:55:38 36 4
gpt4 key购买 nike

我做了一个 SingleItemAdapter extends ArrayAdapter,这个定制的 Adapter 用于 ListView

在这个 SingleItemAdapter 中,我做了一些数据库工作,所以我想在初始化 GUI 的 getView() 方法中抛出异常。

但是 public View getView(int position,View convertView,ViewGroup parent) 抛出异常将得到 Exception Exception is not compatible with throws clause in ArrayAdapter.getView(int, View, ViewGroup)

ArrayAdapter、BaseAdapter、Adapter 不抛异常,为什么呢?

最佳答案

Java 中有两种不同类型的异常。检查异常要求在编译时通过方法声明或 try/catch block 处理异常。运行时异常没有这个要求。

您不能将新类型的异常添加到重写的方法声明中,因此您要么需要捕获异常并在内部处理它,要么使用运行时异常。

在您的情况下听起来您可能想要捕获数据库异常,并在您的代码中很好地处理它们。也许,如果数据库访问失败,您可以显示一条错误消息来解释问题。

如果您只是抛出一个运行时异常,那么用户可能会看到一个强制关闭屏幕,从用户体验的角度来看,这是一个非常糟糕的选择。

关于java - getView() 不能抛出异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4653492/

36 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com