как вызвать метод, когда исключение происходит внутри потока

У меня есть thread, который вызывает метод, и если возникает какое-либо исключение, он возвращается в блок catch этого потока.

позже, тогда мне нравится называть обработчик или тост-сообщение, чтобы отображать исключение, но я не мог вызвать его, чтобы отобразить ошибку.

что я должен сделать, чтобы решить проблему, любую идею.

заранее спасибо.

private void onSaveDialog() {       

    final ProgressDialog dialog = new ProgressDialog(this);

    dialog.setProgressStyle(ProgressDialog.STYLE_SPINNER);
    dialog.setTitle("mApprove Advantage");
    dialog.setIcon(R.drawable.mapprove1);
    dialog.setMessage("Theme setting is in progress...");
    dialog.setIndeterminate(false);
    dialog.setCancelable(false);
    dialog.show();
    new Thread() {
        @Override
        public void run() {
            try {

                Thread.sleep(5000);     
                synchronized (this) {
                onsave();
            }
                dialog.cancel();
                onSetting();
            } catch (Exception e) {
                dialog.cancel();
                wrongurl=true;
                onFinishDialog1();
                System.out.println("url wrong");

            }

        }           
    }.start();  
    }

private void onFinishDialog1(){
    if(wrongurl){
        wrongurl=false;
        Toast.makeText(getApplicationContext(),
                "URL not Available.", Toast.LENGTH_LONG)
                .show();
    }

}
0
разместите свой код, что вы пробовали до сих пор?
добавлено автор Pratik Sharma, источник
разместите свой код, что вы пробовали до сих пор?
добавлено автор Pratik Sharma, источник
разместите свой код, что вы пробовали до сих пор?
добавлено автор Pratik Sharma, источник
«но я не мог назвать это, чтобы отобразить ошибку». - Зачем?
добавлено автор Simon, источник
«но я не мог назвать это, чтобы отобразить ошибку». - Зачем?
добавлено автор Simon, источник
я не знаю, поток не позволяет вызывать какой-либо метод или обработчик, когда он получает ошибку
добавлено автор saran, источник
я не знаю, поток не позволяет вызывать какой-либо метод или обработчик, когда он получает ошибку
добавлено автор saran, источник

8 ответы

Использовать это :

runOnUiThread(new Runnable() 
        {                
          @Override
          public void run() 
            {
            try {

                Thread.sleep(5000);     
                synchronized (this) {
                onsave();
            }
                dialog.cancel();
                onSetting();
            } catch (Exception e) {
                dialog.cancel();
                wrongurl=true;
                onFinishDialog1();
                System.out.println("url wrong");

            }
          }
 });

Благодарю.

0
добавлено
спасибо, много работает
добавлено автор saran, источник

Использовать это :

runOnUiThread(new Runnable() 
        {                
          @Override
          public void run() 
            {
            try {

                Thread.sleep(5000);     
                synchronized (this) {
                onsave();
            }
                dialog.cancel();
                onSetting();
            } catch (Exception e) {
                dialog.cancel();
                wrongurl=true;
                onFinishDialog1();
                System.out.println("url wrong");

            }
          }
 });

Благодарю.

0
добавлено
спасибо, много работает
добавлено автор saran, источник

Использовать это :

runOnUiThread(new Runnable() 
        {                
          @Override
          public void run() 
            {
            try {

                Thread.sleep(5000);     
                synchronized (this) {
                onsave();
            }
                dialog.cancel();
                onSetting();
            } catch (Exception e) {
                dialog.cancel();
                wrongurl=true;
                onFinishDialog1();
                System.out.println("url wrong");

            }
          }
 });

Благодарю.

0
добавлено
спасибо, много работает
добавлено автор saran, источник

Использовать это :

runOnUiThread(new Runnable() 
        {                
          @Override
          public void run() 
            {
            try {

                Thread.sleep(5000);     
                synchronized (this) {
                onsave();
            }
                dialog.cancel();
                onSetting();
            } catch (Exception e) {
                dialog.cancel();
                wrongurl=true;
                onFinishDialog1();
                System.out.println("url wrong");

            }
          }
 });

Благодарю.

0
добавлено
спасибо, много работает
добавлено автор saran, источник

используйте runOnUiThread для показа тостов сообщение от темы как:

  //your code here
  } catch (Exception e) {
    Your_Activity.this.runOnUiThread(new Runnable() {
          public void run() {
            dialog.cancel();
            wrongurl=true;
            onFinishDialog1();
          //show your message here
            Toast.makeText(Your_Activity.this, "Error", Toast.LENGTH_LONG).show(); 

          }
     });
   }
0
добавлено

используйте runOnUiThread для показа тостов сообщение от темы как:

  //your code here
  } catch (Exception e) {
    Your_Activity.this.runOnUiThread(new Runnable() {
          public void run() {
            dialog.cancel();
            wrongurl=true;
            onFinishDialog1();
          //show your message here
            Toast.makeText(Your_Activity.this, "Error", Toast.LENGTH_LONG).show(); 

          }
     });
   }
0
добавлено

используйте runOnUiThread для показа тостов сообщение от темы как:

  //your code here
  } catch (Exception e) {
    Your_Activity.this.runOnUiThread(new Runnable() {
          public void run() {
            dialog.cancel();
            wrongurl=true;
            onFinishDialog1();
          //show your message here
            Toast.makeText(Your_Activity.this, "Error", Toast.LENGTH_LONG).show(); 

          }
     });
   }
0
добавлено

используйте runOnUiThread для показа тостов сообщение от темы как:

  //your code here
  } catch (Exception e) {
    Your_Activity.this.runOnUiThread(new Runnable() {
          public void run() {
            dialog.cancel();
            wrongurl=true;
            onFinishDialog1();
          //show your message here
            Toast.makeText(Your_Activity.this, "Error", Toast.LENGTH_LONG).show(); 

          }
     });
   }
0
добавлено
Mobile Dev Jobs — вакансии и аналитика
Mobile Dev Jobs — вакансии и аналитика
6 187 участник(ов)

Публикуем вакансии и запросы на поиск работы по направлению iOS, Android, Xamarin и т.д. ВАЖНО: Правила публикации и правила канала: Ссылка – https://telegra.ph/Pravila-oformleniya-vakansij-i-rezyume-11-09-2

Android Developers
Android Developers
4 476 участник(ов)

Общаемся на темы, посвященным Android-разработке, SDK, Kotlin, Realm и т.д.

Android Architecture
Android Architecture
2 186 участник(ов)

Русскоязычный чат по архитектуре в андроид приложениях. Подробнее: http://telegra.ph/Android-Architecture-12-24

rus-speaking/android
rus-speaking/android
1 705 участник(ов)

Основной чат по Android разработке (вопрос-ответ). ПРАВИЛА: bit.ly/andr-rules. NEWS: bit.ly/AnrdResId ЧАТЫ: Основной: bit.ly/andr-main IDE, сборка, Git, сервисы: bit.ly/andr-tools Оффтоп: bit.ly/andr-offtop Конференции, события: bit.ly/andr-events Вакансии, найм: bit.ly/andr-job Архитектура: bit.ly/andr-patterns Rx: bit.ly/andr-rx Тестирование: bit.ly/andr-test Kotlin: bit.ly/andr-kotlin Хаmarin: bit.ly/andr-xamarin За мат, спам, агрессию, предложения о работе, оффтоп в этом канале - бан на сутки и более ☢☢☢

Android Dev Подкаст
Android Dev Подкаст
1 325 участник(ов)

Комната для обсуждения Android Dev подкаста apptractor.ru/AndroidDev/ Общее обсуждение Android: https://t.me/android_ru Остальные чаты про Android: http://t.me/devChats Наши новости https://t.me/androiddevpodcast_news

Android Guards
Android Guards
602 участник(ов)

Обсуждение любых вопросов касающихся безопасности Android. - Защита системы и приложений - Уязвимости и эксплойты - Вредоносное ПО - Копание в кишках системы и приложений (RE)

Android JOB
Android JOB
466 участник(ов)

Публикуем вакансии и запросы на поиск работы по направлению Android (full-time, part-time, remote и разовые подработки)

AndroidDev :: Разработка. It's Android time now!
AndroidDev :: Разработка. It's Android time now!
458 участник(ов)

It's Android time now! Чат разработчиков Android. Вакансии, резюме и информацию о митапах размещать можно. Публикацию скрытой и явной рекламы ваших каналов и сайтов после получения разрешения от @olegushakov

Aandroid Talks!
Aandroid Talks!
212 участник(ов)

Чат об общих вопросах по ОС Android. Чат для разработки под андроид - pro.android: https://t.me/joinchat/AAAAAEKIFKnmRT9cMebb9w

Android Rus
Android Rus
68 участник(ов)