Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/374.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 编写我自己的异常类_Java_Exception - Fatal编程技术网

Java 编写我自己的异常类

Java 编写我自己的异常类,java,exception,Java,Exception,错误1:未处理的异常类型ApplicationException 错误2:ApplicationException的捕获块不可访问。决不会从try语句体引发此异常 如何修复此问题?错误1需要如下所示 public class ApplicationException extends Exception { private static final long serialVersionUID = 1L; public ApplicationException() {

错误1:未处理的异常类型ApplicationException

错误2:ApplicationException的捕获块不可访问。决不会从try语句体引发此异常


如何修复此问题?

错误1需要如下所示

public class ApplicationException extends Exception { private static final long serialVersionUID = 1L; public ApplicationException() { super(); } public ApplicationException(String message) { super(message); } } public class Utilities { public static byte[] ParseHehadecimalString(String s) // error 1 { throw new ApplicationException("ParseHehadecimalString not implemented"); } } public class Client extends Activity { { public void OnBtnSendClick(View v) { String s = et_client_out.getText().toString(); byte[] bytes; try { bytes = Utilities.ParseHehadecimalString(s); } catch(ApplicationException ex) // error 2 { Toast.makeText(getApplicationContext(), ex.getMessage(), Toast.LENGTH_SHORT).show(); return; } } 由于错误1,错误2无法通过此异常。错误1修复后,错误2将消失


链接介绍如何将异常添加到方法签名。

Declare方法引发异常。这是好的

试一试


通过这种方式,您将声明您的方法可能引发该异常

您忘记声明您的方法引发ApplicationException:

public static byte[] ParseHehadecimalString(String s) throws ApplicationException

你可能想考虑使用IDE,这样会直接指出这些错误。

在爪哇有。您的异常从exception扩展而来,因此它是一个选中的异常。未检查的异常从RuntimeException扩展而来


检查的异常需要在方法头中声明,以便编译器知道该方法可能引发此异常。您没有这样做,因此编译器认为该方法无法引发此异常。未经检查的异常可能会在不在方法标题中声明的情况下引发。

4次不带任何注释的向下投票?我试着猜我的问题中有什么这么愚蠢。。。
public static byte[] ParseHehadecimalString(String s)  throws ApplicationException
public static byte[] ParseHehadecimalString(String s) throws ApplicationException
public static byte[] ParseHehadecimalString(String s) throws ApplicationException