我正在设计一个以Context作为参数的API。
public myinit(Context context) throws SomeException
{
// Code Logic
throw someException.
}
问题:
调用抛出异常的Activity myinit()
中的onCreate()
是可接受的,也是最佳做法。
非常抱歉,如果这是一个非常基本的问题。
答案 0 :(得分:1)
是的,你可以这样做,但是你必须抓住异常并处理它,否则如果你的应用程序崩溃有任何未处理的异常,你可以处理这样的异常。
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_auth);
try {
myinit(this)
} catch(SomeException ex) {
// Handle exception. Like do some UI notification if its a user input exception.
}
}
如果您没有捕获此异常,您的应用程序将崩溃,如果它的编译时异常您的Android工作室将提供红色下线,并且除非您处理此异常,否则您将无法构建应用程序。如果它的运行时异常,那么它将构建没有任何问题,但如果该函数在运行时抛出此异常(无论出于何种原因),您的应用程序将崩溃。
是的,这是可以接受的,最佳做法是正确处理这个异常。