2009-08-26 125 views
0

此代碼用於工作,但不再有。我用了一個斷點,在這行之後:Dim jpeg As Image = Image.GetInstance("test.jpg")它只是不執行任何代碼。例外未被捕獲

Imports System 
Imports System.IO 
Imports iTextSharp.text 
Imports iTextSharp.text.pdf 

Public Class Form1 

    Public Sub New1() 
     Directory.SetCurrentDirectory("C:\Users\alex\Desktop\") '" 
     Console.WriteLine("Chapter 6 example 1: Adding a Wmf, Gif, Jpeg and Png-file using urls") 
     Dim document As Document = New Document 
     Try 
      PdfWriter.GetInstance(document, New FileStream("Chap060112.pdf", FileMode.Create)) 
      document.Open() 

      Dim jpeg As Image = Image.GetInstance("test.jpg")   
      document.Add(jpeg) 

     Catch de As DocumentException 
      Console.Error.WriteLine(de.Message) 
     Catch ioe As IOException 
      Console.Error.WriteLine(ioe.Message) 
     End Try 
     document.Close() 
    End Sub 

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load 
     New1() 
     End 
    End Sub 

End Class 
+1

這難以格式化您自己的代碼?工具欄上有一個按鈕和一切。 – 2009-08-26 23:57:16

回答

1
Dim jpeg As Image = Image.GetInstance("test.jpg")  

很可能是拋出了一個你沒有處理的異常類型。

嘗試增加

Catch e As Exception 
    Console.Error.WriteLine(e.Message) 

這只是爲了調試的目的,雖然,我會與被拋出異常的實際類型替換異常。總的來說這是一個真正的壞主意趕上System.Exception的

1

它拋出一個既不是DocumentException也不是IOException的異常?

+0

我按F8並沒有任何反應,它只是停止執行代碼 – 2009-08-27 00:00:00

1

做到這一點,看看被拋出什麼異常。

Catch e As Exception 
    Console.WriteLine(e.GetType().Name) 
    Console.WriteLine(e.Message) 
End Try 
1

在「結束嘗試」之前嘗試拋出另一個「作爲例外捕捉」。您可能試圖捕捉錯誤的異常。