2013-09-27 12 views
3

編譯器會抱怨這樣的代碼:將throws子句放在屬性聲明中的位置?

public OdbcVersion odbc_version { set { set_odbc_version_ (value); } } 

private void set_odbc_version_ (OdbcVersion value) throws UnixOdbcError { 
    if (!succeeded (set_environment_attribute_real (handle, Attribute.ODBC_VERSION, (void *) value, 0))) { 
     throw new UnixOdbcError.SET_ENVIRONMENT_ATTRIBUTE ("Could not set environment attribute"); 
    } 
} 

的消息是:

/mnt/code/dbdiadesign/src/unixodbc.vala:65.42-65.66: warning: unhandled error `UnixOdbc.UnixOdbcError' 

我在哪裏把throws條款在財產申報?

回答

2

您不能在屬性獲取器或設置器中拋出錯誤。

+0

我只是使用一種方法,而不是屬性然後。這有什麼理由嗎? –

+0

這是GLib風格C編碼慣例的延續。 – apmasell

相關問題