rokkonet

PC・Androidソフトウェア・アプリの開発・使い方に関するメモ

AsyncTaskのdoInBackground()内で発生した例外の捕捉

2020 May 05.


AsyncTaskのdoInBackground()内で発生した例外は return文でonPostExecute()に渡して把握するしかない?
onPostExecute()内ではToastを使える。

class MyTask(): AsyncTask<Void, Void, String>()  {
    override fun doInBackground(vararg params: Void?): String {

        try {
            DO_YOUR_JOB
        } catch (e: Exception) {
            return ("Exception: " + e.toString())
        }
        return "No Exception"
    }

    override fun onPostExecute(result: String) {
        Toast.makeText(
            parentContext, result,
            Toast.LENGTH_LONG
            ).show()
    }
}