如何使用 if 语句检查是否发生连接错误
How to check if an Connection Error occurs using an if statement
所以我有一个按钮,当我按下它时,它会向服务器发送消息。但是,我想确保如果存在 ConnectionException 按钮将不会单击并且 return Toast。
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (v.getId() == R.id.button) {
//Send Message to Server
} else
Toast.makeText(getApplicationContext(), "Server hasn't connected", Toast.LENGTH_LONG).show();
}
}
我只是想知道如何实现它?
在这种情况下,您应该使用 try-catch 语句。
try
{
//statements that may cause an exception
}
catch (exception(type) e(object))
{
//error handling code
}
按钮点击发生在主线程UI线程上,而服务器通信发生在IO线程上,非主线。您需要一个模型来告诉您是否发生错误,然后显示您的错误消息。
一种可能的解决方案是使用 AsyncTask
用 try and catch 语句包装您的代码。
例如
button.setOnClickListener(new View.OnClickListener() {
@Override
try
{
public void onClick(View v) {
if (v.getId() == R.id.button) {
//Send Message to Server
} else
Toast.makeText(getApplicationContext(), "Server hasn't connected", Toast.LENGTH_LONG).show();
}
}
}
catch(exception (type) e)
{
//your custom message
}
}
try this first
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
try{
if (v.getId() == R.id.button) {
//Send Message to Server
}else {
throw new serverExceptionerror ("Server hasn't connected");
}
}
catch (serverExceptionerror ex) {
Toast.makeText(ex.getMessage(),Toast.LENGTH_LONG).show();
}
}
}
所以我有一个按钮,当我按下它时,它会向服务器发送消息。但是,我想确保如果存在 ConnectionException 按钮将不会单击并且 return Toast。
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (v.getId() == R.id.button) {
//Send Message to Server
} else
Toast.makeText(getApplicationContext(), "Server hasn't connected", Toast.LENGTH_LONG).show();
}
}
我只是想知道如何实现它?
在这种情况下,您应该使用 try-catch 语句。
try
{
//statements that may cause an exception
}
catch (exception(type) e(object))
{
//error handling code
}
按钮点击发生在主线程UI线程上,而服务器通信发生在IO线程上,非主线。您需要一个模型来告诉您是否发生错误,然后显示您的错误消息。
一种可能的解决方案是使用 AsyncTask
用 try and catch 语句包装您的代码。 例如
button.setOnClickListener(new View.OnClickListener() {
@Override
try
{
public void onClick(View v) {
if (v.getId() == R.id.button) {
//Send Message to Server
} else
Toast.makeText(getApplicationContext(), "Server hasn't connected", Toast.LENGTH_LONG).show();
}
}
}
catch(exception (type) e)
{
//your custom message
}
}
try this first
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
try{
if (v.getId() == R.id.button) {
//Send Message to Server
}else {
throw new serverExceptionerror ("Server hasn't connected");
}
}
catch (serverExceptionerror ex) {
Toast.makeText(ex.getMessage(),Toast.LENGTH_LONG).show();
}
}
}