我正在设计一个将 Context 作为参数的 API。
public myinit(Context context) throws SomeException
{
// Code Logic
throw someException.
}
问题:
在引发异常的 Activity 的 onCreate()
中调用此 myinit()
是可接受的最佳实践。
非常抱歉,如果这是一个非常基本的问题。
最佳答案
是的,你可以这样做,但你必须捕获异常并处理它,否则如果有任何未处理的异常你的应用程序将崩溃,你可以像这样处理异常。
@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 工作室将给出红色下划线,除非您处理此异常,否则您将无法构建应用程序。如果它的运行时异常,那么它将毫无问题地构建,但如果该函数在运行时抛出此异常(无论出于何种原因),您的应用程序将崩溃。
是的,这样做是可以接受的,最佳做法是正确处理此异常。
关于java - 我可以编写一个抛出异常的函数,该函数可以在 android 的 onCreate 中使用吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33560525/