我正在设计一个将Context作为参数的API。
public myinit(Context context) throws SomeException
{
// Code Logic
throw someException.
}
题:
在Activity的
myinit()
中调用此onCreate()
会引发异常,这是可以接受的,也是一种最佳做法。非常抱歉,如果这是一个非常基本的问题。
最佳答案
是的,您可以执行此操作,但是您必须捕获并处理该异常,否则,如果您的应用程序崩溃时有任何未处理的异常,则可以像这样处理异常。
@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 Studio将在下划线处显示红色,除非您处理此异常,否则您将无法生成该应用程序。如果它的运行时异常,那么它将编译没有任何问题,但是如果函数在运行时抛出该异常(无论出于何种原因),您的应用程序将崩溃。
是的,这样做是可以接受的,并且最佳实践是正确处理此异常。