Android Java 自定义异常

1、自定义异常

package com;

public class ZeroException extends Exception {

    private static final long serialVersionUID = 1L;

    public ZeroException(){
        super() ;
    }

    public ZeroException ( String string ) {
        super( string ) ;
    }
}

2、异常捕捉

package com;

public class Test {

    public static void main(String[] args) {
        Test test = new Test() ;

        try {
            test.fun( "" ) ;
        } catch (ZeroException e) {
            e.printStackTrace();
        }
    }

    void fun( String string ) throws ZeroException {
        if( string == null ){
            throw new ZeroException( "参数不能为null" ) ;
        }

        if( string == "" ) {
            throw new ZeroException( "参数不能为空" ) ;
        }
    }
}

3、运行结果

com.ZeroException: 参数不能为空
    at com.Test.fun(Test.java:22)
    at com.Test.main(Test.java:9)
时间: 2024-10-09 01:14:18

Android Java 自定义异常的相关文章

java 自定义异常,记录日志简单说明!留着以后真接复制

log4j 相关配制说明:http://blog.csdn.net/liangrui1988/article/details/17435139 自定义异常 package org.rui.ExceptionTest; public class ExtraFeature { //-------使用------ public static void f()throws MyException { System.out.println("MyException from f()"); thr

Android java传递int类型数组给C

接着前面的文章<Android java传递int类型数据给C><Android java传递string类型数据给C>,继续实践 实现public native int[] arrElementsIncrease(int[] intArray); 项目布局 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://sc

[掌眼]iOS / Android / java / node.js 通用的 AES256 加解密算法

example.m NSString *text = @"text"; NSString *key32 = @"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"; NSData *data = [text dataUsingEncoding:NSUTF8StringEncoding]; NSString *encryptedData = [[data AES256EncryptWithKey:key32] base64EncodedStringWi

Android java传递string类型数据给C

本文接着实现<Android java传递int类型数据给C>的还未实现的方法: public native String sayHelloInC(String s); 先贴一个工具方法,具体意义后面的文章将介绍 /** * 把一个jstring转换成一个c语言的char* 类型. */ char* _JString2CStr(JNIEnv* env, jstring jstr) { char* rtn = NULL; jclass clsstring = (*env)->FindCla

Android Java 与 C++ 调用过程中的常量,路径名、文件名、后缀名最大长度

/**************************************************************************** **************************************************************************** *** ***   This header was automatically generated from a Linux kernel header ***   of the same

Android(Java):jni源代码

public void onCreate(Bundle savedInstanceState)    {        super.onCreate(savedInstanceState);        Button btn = new Button(this);        btn.setText("测试ndk");        btn.setOnClickListener(new ButtonOnClickListener());        setContentView(

Android Java混淆(ProGuard)

Android Java混淆(ProGuard)(转) ProGuard简介 ProGuard是一个SourceForge上非常知名的开源项目.官网网址是:http://proguard.sourceforge.net/. Java的字节码一般是非常容易反编译的.为了很好的保护Java源代码,我们往往会对编译好的class文件进行混淆处理.ProGuard的主要作用就是混淆.当然它还能对字节码进行缩减体积.优化等,但那些对于我们来说都算是次要的功能. 引用ProGuard官方的一段话来介绍就是:

android/java调用有道词典

之前学的时候碰了两壁:1.android4.0以上不能在主线程使用网络,2.不能在线程更新UI状态 因为网上很多给出的代码都有这两个隐患,所以很多人都调用不成功.明白了这两点下面就好办了. PS:代码非原创,由网络上android4.0以下的低版本代码改进而来,适用于android4.0以上,当然之前的应该也适用 直接上demo---translate http://pan.baidu.com/s/1gdIK4QR android/java调用有道词典

[Android] [Java] 分享 Process 执行命令行封装类

在上一篇文章中提到,利用Java创建进程执行命令行语句创建过多后会出现无法创建进程的问题. [Android] ProcessBuilder与Runtime.getRuntime().exec分别创建进程的区别 进行多次测试后发现是因为没有正常退出进程,以及完全读取掉流数据,和关闭流导致的问题. 在多次优化后,建立如下封装类: ProcessModel.java import java.io.BufferedReader; import java.io.IOException; import j