Questions tagged «exception»

异常是一种异常情况,需要偏离程序的正常流程。通常,异常不应导致完全失败,而应由异常处理程序来处理。异常处理是许多编程语言中的内置构造。通常,通过展开堆栈来处理异常,从而回滚到异常范围之外的已定义状态,然后调用处理程序块或例程。

6
如何在Android中阅读文本文件?
我想从文本文件中读取文本。在下面的代码中,发生异常(这意味着它进入了该catch块)。我将文本文件放在应用程序文件夹中。我应该在哪里放置此文本文件(mani.txt)以便正确阅读? try { InputStream instream = openFileInput("E:\\test\\src\\com\\test\\mani.txt"); if (instream != null) { InputStreamReader inputreader = new InputStreamReader(instream); BufferedReader buffreader = new BufferedReader(inputreader); String line,line1 = ""; try { while ((line = buffreader.readLine()) != null) line1+=line; }catch (Exception e) { e.printStackTrace(); } } } catch (Exception e) { String error=""; error=e.getMessage(); …



4
给定最终块未正确填充
我正在尝试实现基于密码的加密算法,但出现此异常: javax.crypto.BadPaddingException:给定的最终块未正确填充 可能是什么问题? 这是我的代码: public class PasswordCrypter { private Key key; public PasswordCrypter(String password) { try{ KeyGenerator generator; generator = KeyGenerator.getInstance("DES"); SecureRandom sec = new SecureRandom(password.getBytes()); generator.init(sec); key = generator.generateKey(); } catch (Exception e) { e.printStackTrace(); } } public byte[] encrypt(byte[] array) throws CrypterException { try{ Cipher cipher = Cipher.getInstance("DES/ECB/PKCS5Padding"); …

5
抛出新的std :: exception vs抛出std :: exception
在看一些代码时,我偶然发现: throw /*-->*/new std::exception ("//... 我一直以为您不需要/不应该new在这里使用。 正确的方法是什么,都可以,如果可以的话,有什么区别吗? 顺便说一句,从我用PowerShell增强库“抓取”时可以看到,从未使用过throw new。 PS还发现了一些使用的CLI代码throw gcnew。那样行吗?
113 c++  exception 

5
序列不包含匹配元素
我有一个asp.net应用程序,其中使用linq进行数据操作。运行时,出现异常“序列不包含匹配的元素”。 if (_lstAcl.Documents.Count > 0) { for (i = 0; i <= _lstAcl.Documents.Count - 1; i++) { string id = _lstAcl.Documents[i].ID.ToString(); var documentRow = _dsACL.Documents.First(o => o.ID == id); if (documentRow !=null) { _lstAcl.Documents[i].Read = documentRow.Read; _lstAcl.Documents[i].ReadRule = documentRow.ReadRule; _lstAcl.Documents[i].Create= documentRow.Create; _lstAcl.Documents[i].CreateRule = documentRow.CreateRule; _lstAcl.Documents[i].Update = documentRow.Update; _lstAcl.Documents[i].UpdateRule = documentRow.UpdateRule; …
112 c#  linq  exception 

10
ASP.NET自定义错误页面-Server.GetLastError()为null
我为我的应用程序设置了一个自定义错误页面: <customErrors mode="On" defaultRedirect="~/errors/GeneralError.aspx" /> 在Global.asax的Application_Error()中,以下代码用于获取异常详细信息: Exception ex = Server.GetLastError(); if (ex != null) { if (ex.GetBaseException() != null) ex = ex.GetBaseException(); } 到错误页面(〜/ errors / GeneralError.aspx.cs)时,Server.GetLastError()为null 有什么办法可以在错误页面上而不是在Global.asax.cs中获得异常详细信息? Vista / IIS7上的ASP.NET 3.5

13
android视图未附加到窗口管理器
我有以下一些例外情况: java.lang.IllegalArgumentException: View not attached to window manager at android.view.WindowManagerImpl.findViewLocked(WindowManagerImpl.java:355) at android.view.WindowManagerImpl.updateViewLayout(WindowManagerImpl.java:191) at android.view.Window$LocalWindowManager.updateViewLayout(Window.java:428) at android.app.Dialog.onWindowAttributesChanged(Dialog.java:596) at android.view.Window.setDefaultWindowFormat(Window.java:1013) at com.android.internal.policy.impl.PhoneWindow.access$700(PhoneWindow.java:86) at com.android.internal.policy.impl.PhoneWindow$DecorView.drawableChanged(PhoneWindow.java:1951) at com.android.internal.policy.impl.PhoneWindow$DecorView.fitSystemWindows(PhoneWindow.java:1889) at android.view.ViewRoot.performTraversals(ViewRoot.java:727) at android.view.ViewRoot.handleMessage(ViewRoot.java:1633) at android.os.Handler.dispatchMessage(Handler.java:99) at android.os.Looper.loop(Looper.java:123) at android.app.ActivityThread.main(ActivityThread.java:4338) at java.lang.reflect.Method.invokeNative(Native Method) at java.lang.reflect.Method.invoke(Method.java:521) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:860) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:618) at dalvik.system.NativeStart.main(Native Method) 我已经用谷歌搜索了一下,发现它与弹出窗口和打开屏幕有关,但是没有引用我的代码。 问题是: 有没有一种方法可以确切地找出何时发生此问题? 除了转动屏幕之外,是否还有其他事件或动作触发此错误? …
111 android  exception 


3
为什么writeObject会抛出java.io.NotSerializableException,我该如何解决?
我有这个异常,我不明白为什么会抛出该异常,或者应该如何处理。 try { os.writeObject(element); } catch (IOException e) { e.printStackTrace(); } 哪里element是一个TransformGroup包含一些其他TransformGroups类的Atom的一个实例: public class Atom extends Group implements Serializable{ float pozX,pozY; Group group= new Group(); Color3f blue = new Color3f(new Color(255)); Color3f black = new Color3f(new Color(0)); Sphere AtSph=new Sphere(); public Atom(final float WEIGHT, final int BOUNDS,final float radius,Color3f color) …

7
C ++中的异常如何工作(在幕后)
我一直看到人们说例外情况很慢,但我从未见过任何证据。因此,我将询问异常在后台如何工作,而不是询问它们是否存在,以便我可以决定何时使用它们以及它们是否缓慢。 据我所知,异常与执行多次返回相同,不同之处在于它还会在每次返回之后检查是否需要执行另一个操作或停止操作。如何检查何时停止返回?我猜有第二个堆栈保存异常的类型和堆栈位置,然后它会返回直到到达那里。我还猜测第二个堆栈唯一碰到的是一次掷球和每次尝试/接球。AFAICT使用返回码实施类似行为将花费相同的时间。但这只是一个猜测,所以我想知道真正发生了什么。 异常如何真正起作用?


9
无法访问的代码,但是有异常可以访问
此代码是读取和写入ODBC连接的数据库的应用程序的一部分。它在数据库中创建一条记录,然后检查是否已成功创建记录,然后返回true。 我对控制流程的理解如下: command.ExecuteNonQuery()被记录为Invalid​Operation​Exception在“方法调用对于对象的当前状态无效”时引发。因此,如果发生这种情况,该try块的执行将停止,该finally块将被执行,然后return false;在底部执行。 但是,我的IDE声称该return false;代码不可访问。而且这似乎是事实,我可以删除它,并且可以毫无抱怨地进行编译。但是,对我来说,似乎抛出上述异常的代码路径没有返回值。 private static bool createRecord(String table, IDictionary<String,String> data, System.Data.IDbConnection conn, OdbcTransaction trans) { [... some other code ...] int returnValue = 0; try { command.CommandText = sb.ToString(); returnValue = command.ExecuteNonQuery(); return returnValue == 1; } finally { command.Dispose(); } return false; } 我在这里理解的错误是什么?

15
Image.Save(..)抛出GDI +异常,因为内存流已关闭
我有一些要保存为图像的二进制数据。当我尝试保存图像时,如果用于保存图像的内存流在保存之前已关闭,则会引发异常。我这样做的原因是因为我正在动态创建图像,因此我需要使用内存流。 这是代码: [TestMethod] public void TestMethod1() { // Grab the binary data. byte[] data = File.ReadAllBytes("Chick.jpg"); // Read in the data but do not close, before using the stream. Stream originalBinaryDataStream = new MemoryStream(data); Bitmap image = new Bitmap(originalBinaryDataStream); image.Save(@"c:\test.jpg"); originalBinaryDataStream.Dispose(); // Now lets use a nice dispose, etc... Bitmap2 …
108 c#  image  exception  gdi+ 

5
在红宝石中捕获Ctrl-c
我通过了一个长期运行的旧式红宝石程序,该程序多次出现 begin #dosomething rescue Exception => e #halt the exception's progress end 整个过程。 在不跟踪每个可能的异常的情况下(至少不是立即),我仍然希望能够使用有时将其关闭CtrlC。 而且我想这样做的方式只会增加代码(这样我就不会影响现有行为,也不会在运行过程中遗漏否则捕获的异常)。 [ CtrlC是SIGINT或SystemExit,它似乎与SignalException.new("INT")Ruby的异常处理系统等效。class SignalException < Exception,这就是为什么出现此问题的原因。] 我想写的代码是: begin #dosomething rescue SignalException => e raise e rescue Exception => e #halt the exception's progress end 编辑:此代码有效,只要您获取要捕获正确的异常的类。可以是SystemExit,Interrupt或IRB :: Abort,如下所示。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.