smali入门之try..catch

来源:互联网 发布:董洁的冷清秋知乎 编辑:程序博客网 时间:2024/04/30 08:25


照着说明,写了一遍代码,将一个字符串转换为整形,捕获异常:

.class public Lcom/alipay/helloworld/MainActivity;.super Landroid/app/Activity;.source "MainActivity.java"# direct methods.method public constructor <init>()V    .locals 0    .prologue    .line 7    invoke-direct {p0}, Landroid/app/Activity;-><init>()V    return-void.end method# virtual methods.method protected onCreate(Landroid/os/Bundle;)V    .locals 3    .parameter "savedInstanceState"    .prologue    .line 11    invoke-super {p0, p1}, Landroid/app/Activity;->onCreate(Landroid/os/Bundle;)V    .line 12    const/high16 v2, 0x7f03    invoke-virtual {p0, v2}, Lcom/alipay/helloworld/MainActivity;->setContentView(I)V    const-string v1, "92a8"    :try_start    invoke-static {v1}, Ljava/lang/Integer;->parseInt(Ljava/lang/String;)I    move-result v1    :try_end    .catch Ljava/lang/Exception;{:try_start .. :try_end}  :handler_1    :goto_0    return-void    :handler_1    move-exception v0    invoke-virtual {v0}, Ljava/lang/Exception;->toString()Ljava/lang/String;    move-result-object v0    invoke-virtual {p0, v0}, Lcom/alipay/helloworld/MainActivity;->showToastMessage(Ljava/lang/String;)V    goto :goto_0.end method.method public showToastMessage(Ljava/lang/String;)V    .locals 1    const/4 v0, 0x01    invoke-static {p0, p1, v0}, Landroid/widget/Toast;->makeText(Landroid/content/Context;Ljava/lang/CharSequence;I)Landroid/widget/Toast;    move-result-object v0    invoke-virtual {v0}, Landroid/widget/Toast;->show()V    return-void.end method

效果如下:



0 0
原创粉丝点击