Tag: exception

在Java 7 multicatch块中,捕获的exception的类型是什么?

在Java 7多个分块中,如下所示: try { // code that throws exception } catch (CharacterCodingException | UnknownServiceException ex) { // handle exception } 什么是ex的编译时类型? 它是两个exception类型共同的派生类最多的类吗? 在这个例子中,这将是一个IOException 。

javax.crypto.BadPaddingException

我正在研究AES算法,我有这个我无法解决的exception。 javax.crypto.BadPaddingException: Given final block not properly padded at com.sun.crypto.provider.SunJCE_f.b(DashoA13*..) at com.sun.crypto.provider.SunJCE_f.b(DashoA13*..) at com.sun.crypto.provider.AESCipher.engineDoFinal(DashoA13*..) at javax.crypto.Cipher.doFinal(DashoA13*..) 例外情况发生在解密部分。 我在与解密算法不同的地方初始化密钥 KeyGenerator kgen = KeyGenerator.getInstance(“AES”);//key generation for AES kgen.init(128); // 192 and 256 bits may not be available 然后我把它从文件中读取的密文传递给下面的方法 public String decrypt(String message, SecretKey skey) { byte[] raw = skey.getEncoded(); SecretKeySpec skeySpec = new SecretKeySpec(raw, “AES”); // Instantiate […]

字符串索引超出范围exceptionjava

从我的类中调用函数时出现以下错误:java.lang.StringIndexOutOfBoundsException:字符串索引超出范围:-1虽然我使用系统打印来查看我在substring()函数中传递的输入和所有内容似乎是对的。 函数isContained()返回一个布尔值,用于定义作为参数传递的子字符串是否在单词列表中。 我的代码是: for(int i=0; i<=size; i++) for(int j=i+1; j<=size; j++) if(isContained(str.substring(i,ji))) System.out.println(str.substring(i,ji)); 其中size是字符串(str)的大小我在函数中传递

如何捕获事件调度线程(EDT)exception?

我正在使用一个名为MyExceptionHandler的类来实现Thread.UncaughtExceptionHandler来处理项目中的正常exception。 据我所知,这个类无法捕获EDTexception,所以我尝试在main()方法中使用它来处理EDTexception: public static void main( final String[] args ) { Thread.setDefaultUncaughtExceptionHandler( new MyExceptionHandler() ); // Handle normal exceptions System.setProperty( “sun.awt.exception.handler”,MyExceptionHandler.class.getName()); // Handle EDT exceptions SwingUtilities.invokeLater(new Runnable() { // Execute some code in the EDT. public void run() { JFrame myFrame = new JFrame(); myFrame.setVisible( true ); } }); } 但直到现在它还没有用。 例如,在初始化JFrame时,我从构造函数中的bundle文件加载其标签,如下所示: setTitle( bundle.getString( “MyJFrame.title” […]

为什么我的节目“必须被抓或被宣布被抛出”?

我已经在这个项目上工作了很长一段时间,而且我的大脑都被炒了。 我可以使用一些人的帮助。 我正在尝试创建一个逐行读取文本文件的程序,每行都被创建为一个ArrayList因此我可以访问每个令牌。 我究竟做错了什么? import java.util.*; import java.util.ArrayList; import java.io.*; import java.rmi.server.UID; import java.util.concurrent.atomic.AtomicInteger; public class PCB { public void read (String [] args) { BufferedReader inputStream = null; try { inputStream = new BufferedReader(new FileReader(“processes1.txt”)); String l; while ((l = inputStream.readLine()) != null) { write(l); } } finally { if (inputStream != null) { […]

线程“main”java.util.NoSuchElementException中的exception

每当我运行它时, chooseCave()函数与chooseCave()正常工作。 当我选择洞穴时,消息会以2秒的间隔弹出,然后一旦超过该部分,它就会给我错误: Exception in thread “main” java.util.NoSuchElementException: No line found at java.util.Scanner.nextLine(Unknown Source) at Dragon.main(Dragon.java:81) 我尝试过hasNextLine()和hasNextInt() ,当我在main方法中使用while hasNextLine()时,我得到了更多的错误。 当我在chooseCave()方法中使用while hasNextInt()时,它不接受我的输入。 当我在chooseCave()方法中使用if hasNextInt()时,它不接受我对playAgain字符串的输入,并直接进入另一个游戏,但是然后hasNextInt()布尔返回false并且它发送“哪个洞穴… 。“ 无限地。 我已经完成了错误报告以及类似问题的Java-docs和Stack Overflow。 请帮忙。 import java.util.Scanner; public class Dragon { public static void displayIntro() { System.out.println(“You are in a land full of dragons. In front of you, “); System.out.println(“You see two […]

在Java中,如何使用JUnitvalidation抛出的exception?

在为Java API编写unit testing时,可能会出现需要对exception执行更详细validation的情况。 比JUnit提供的@test注释提供的更多。 例如,考虑一个应该从其他接口捕获exception的类,包装该exception并抛出包装的exception。 您可能需要validation: 抛出包装exception的确切方法调用。 包装器exception将原始exception作为其原因。 包装器exception的消息。 这里的要点是,您希望在unit testing中对exception进行额外的validation(而不是关于是否应该validationexception消息等事项的争论)。 对此有什么好的方法?

Java / C#中检查的exception是什么?

我是一名C#开发人员,偶尔用Java编写代码。 有人可以用简单的术语解释Java中检查的exception是什么以及为什么需要它? 没有在C#中遇到过这个术语。

PrintWriter和PrintStream永远不会抛出IOExceptions

几天前,我意识到PrintWriter (以及PrintStream )在写,刷新或关闭时都不会抛出IOException 。 相反,它会在发生错误时设置内部标志( trouble=true )。 它不可能得到确切的exception,但只有在有一些exception时才会出现( checkError() )。 我的问题是:为什么会有这样的行为? API设计不是那么糟糕吗?

运行时/已检查/未检查/错误/exception之间的差异

什么是运行时exception以及什么是选中/未选中的exception以及错误/exception之间的区别。为什么这么多类型? 相反,Java可能只是遵循一个简单的设计(只是尝试/捕获所有类型)来处理程序中的exception情况?