为什么我会通过未捕获的异常获得线程退出?

时间:2017-06-26 14:55:58

标签: java android exception illegalstateexception

我正在尝试根据用户输入的sap号打开另一个活动。但是即使在下一个活动被打开之前,我也会遇到异常,非法状态异常以及未捕获异常的线程退出。 这是我调用其他活动的java文件 -

package ai.app;

import android.app.Activity;
import android.content.Intent;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.DatePicker;
import android.widget.TextView;
import android.widget.Toast;

public class homepage extends Activity {
    SQLiteDatabase db;
    TextView tv;

    @Override
    protected void onCreate(Bundle savedInstanceState) 
    {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.homepage);
        String sap = getIntent().getExtras().getString("sapno");
        tv=(TextView)findViewById(R.id.textView1);
        db=openOrCreateDatabase("aidatabase.db",MODE_PRIVATE,null);
        Cursor c=db.rawQuery("select * from master where sapno='"+sap+"'", null);
        Boolean s;
        s=c.moveToFirst();
        String a=c.getString(c.getColumnIndex("department"));
        tv.setText("Welcome to "+a+" Department");


    }

    public void call (View v)
    {
        switch(v.getId())
        {
        case R.id.view:
        {
        Toast.makeText(this, "view done", Toast.LENGTH_LONG).show();    

        Intent i=new Intent(this, viewdetails.class);
        startActivity(i);
        finish();
        break;
        }
        case R.id.enter:
        {
            Intent i = getIntent();
            String sap = i.getStringExtra("sapno");
            if(sap.equals("102"))
            {
                System.out.println("Inside cargo");
            Intent i1=new Intent(this, cargo.class);
            startActivity(i1);
            finish();
            }
            else if(sap.equals("103"))
            {
                System.out.println("Inside hcc");
            Intent i1=new Intent(this, hcc.class);
            startActivity(i1);
            finish();
            }
            else if(sap.equals("104"))
            {
                System.out.println("Inside trimmers");
            Intent i1=new Intent(this, trimmers.class);
            startActivity(i1);
            finish();
            }
            else if(sap.equals("105"))
            {
                System.out.println("Inside ops 1");
            Intent i1=new Intent(this, ops.class);
            System.out.println("Inside ops 2");
            startActivity(i1);
            finish();
            }
            else if(sap.equals("107"))
            {
                System.out.println("Inside routing");
            Intent i1=new Intent(this, routing.class);
            startActivity(i1);
            finish();
            }

        }
    }


}
}

例如,如果选择了ops部分,则抛出异常。 以下是ops.java的java代码

 package ai.app;

    import android.os.Bundle; 
import android.widget.Toast; 
import android.app.Activity;


    public class ops extends Activity 
{   @Override       
protected void onCreate(Bundle savedInstanceState)      
{       System.out.println("inside oncreate");      
try         {           System.out.println("inside try1");      
super.onCreate(savedInstanceState);         
System.out.println("inside try2");      
setContentView(R.layout.opssection);        }       
catch(Exception e)      
{           Toast.makeText(this, ""+e, Toast.LENGTH_LONG).show();       }
                    }   
 }

同样的xml文件是 -

<?xml version="1.0" encoding="utf-8"?>
<AbsoluteLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent" >

    <TextView
        android:id="@+id/textView11"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_x="10dp"
        android:layout_y="3dp"
        android:text="Remarks" />

    <TextView
        android:id="@+id/textView7"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_x="10dp"
        android:layout_y="200dp"
        android:text="FOB Revised2" />

    <TextView
        android:id="@+id/textView5"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_x="10dp"
        android:layout_y="160dp"
        android:text="FOB Revised1" />

    <TextView
        android:id="@+id/textView4"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_x="10dp"
        android:layout_y="120dp"
        android:text="Fuel on Board" />

    <TextView
        android:id="@+id/textView1"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_x="1dp"
        android:layout_y="0dp"
        android:background="#BD3112"
        android:text="   OPS Section   "
        android:textColor="#FFFFFF"
        android:textSize="20dp" />

    <EditText
        android:id="@+id/editText3"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_x="154dp"
        android:layout_y="110dp"
        android:ems="10" />

    <EditText
        android:id="@+id/editText4"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_x="154dp"
        android:layout_y="150dp"
        android:ems="10" />

    <EditText
        android:id="@+id/editText5"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_x="154dp"
        android:layout_y="190dp"
        android:ems="10" />

    <TextView
        android:id="@+id/textView2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_x="10dp"
        android:layout_y="40dp"
        android:text="Enter Trip Fuel" />

    <EditText
        android:id="@+id/editText1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_x="154dp"
        android:layout_y="30dp"
        android:ems="10" />

    <EditText
        android:id="@+id/editText2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_x="154dp"
        android:layout_y="70dp"
        android:ems="10" />

    <TextView
        android:id="@+id/textView3"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_x="10dp"
        android:layout_y="80dp"
        android:text="RTOW" />

    <Button
        android:id="@+id/button2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_x="102dp"
        android:layout_y="248dp"
        android:background="#BD3112"
        android:text="  Update  "
        android:textColor="#FFFFFF" />

</AbsoluteLayout>

其他活动也被抛出类似的例外,请让我知道我哪里出错...谢谢

1 个答案:

答案 0 :(得分:1)

并非所有异常都在Exception class.change:

 catch(Exception e)  

使用Throwable类捕获更多异常类型:

 catch(Throwable e)